PHP:
Convertendo uma data em uma string
How to:
Vamos direto ao ponto: você precisa exibir ou salvar uma data em um formato personalizado em PHP? Use a classe DateTime
e o método format
. Aqui está como.
<?php
$data = new DateTime('now', new DateTimeZone('Europe/Lisbon'));
echo $data->format('d/m/Y H:i:s'); // saída: 15/03/2023 14:23:08
?>
Nota: d/m/Y H:i:s
é um formato comum em Portugal, com dia, mês, ano, hora, minutos e segundos.
Deep Dive
Desde os primórdios do PHP, lidar com datas era possível, mas nem sempre direto. A função date()
era a go-to para muitos desenvolvedores, mas tinha suas limitações, especialmente em relação a fusos horários e cálculos de data.
Com o PHP 5.2.0, veio o DateTime
, uma melhoria monumental. Ele oferece orientação a objetos, manipulação de fuso horário e comparação de datas. Outra opção é o DateTimeImmutable
, que, como o nome indica, retorna um objeto imutável sempre que você modifica a data.
Manejar fusos horários é fácil com DateTime
. Basta passar o fuso desejado como parâmetro no construtor.
Alternativa tradicional: usar date()
e strtotime()
.
echo date('d/m/Y H:i:s', strtotime('now')); // mesma saída anterior
Mas seja cauteloso — strtotime()
pode fazer mágicas com strings em inglês, mas não necessariamente entenderá outros idiomas com a mesma facilidade.
See Also
Para mergulhar fundo nas possibilidades de DateTime
e DateTimeImmutable
, confira a documentação oficial do PHP:
E para entender todos os formatos de saída possíveis com o método format
:
Espero que isso torne sua vida com PHP e datas um pouquinho mais fácil!