PHP:
Analisando uma data a partir de uma string
Como fazer:
A classe integrada DateTime
do PHP fornece um conjunto poderoso de funções para analisar e trabalhar com datas. Você pode criar uma instância de DateTime
a partir de uma string de data usando o construtor, e então formatá-la conforme necessário. Veja como:
$dateString = "2023-04-25 15:30:00";
$dateObject = new DateTime($dateString);
echo $dateObject->format('Y-m-d H:i:s');
// Saída: 2023-04-25 15:30:00
Para lidar com strings que seguem formatos não padrão, você pode usar o método createFromFormat
, que permite especificar o formato exato da data de entrada:
$dateString = "25-04-2023 3:30 PM";
$dateObject = DateTime::createFromFormat('d-m-Y g:i A', $dateString);
echo $dateObject->format('Y-m-d H:i:s');
// Saída: 2023-04-25 15:30:00
Para análises mais complexas que podem não ser diretamente suportadas por DateTime
, o PHP oferece a função strtotime
, que tenta analisar qualquer descrição textual inglesa de data/hora em um timestamp Unix:
$timestamp = strtotime("next Thursday");
echo date('Y-m-d', $timestamp);
// A saída variará dependendo da data atual, por exemplo, "2023-05-04"
Usando bibliotecas de terceiros:
Embora as funções integradas do PHP cubram uma ampla gama de casos de uso, às vezes você pode precisar de capacidades de análise mais sofisticadas. A biblioteca Carbon, uma extensão da classe DateTime do PHP, oferece um rico conjunto de recursos para manipulação de data/hora:
require 'vendor/autoload.php';
use Carbon\Carbon;
$dateString = "Tomorrow";
$date = Carbon::parse($dateString);
echo $date->toDateTimeString();
// A saída variará, por exemplo, "2023-04-26 00:00:00"
O método parse
do Carbon pode lidar de forma inteligente com uma infinidade de formatos de data e hora, tornando-o uma ferramenta inestimável para aplicações que exigem uma funcionalidade de análise de data flexível.