Trabalhar com datas e horários em PHP é uma tarefa comum em muitos projetos, seja para exibir a data e hora corrente, manipular datas em diferentes formatos ou calcular intervalos de tempo.
Em PHP, as datas são tratadas como objetos, sendo possível criar instâncias da classe DateTime para trabalhar com datas e horários de forma mais flexível. Para criar um objeto DateTime, basta passar a data em um formato reconhecido pelo PHP, como “YYYY-MM-DD” ou “DD/MM/YYYY”, para o construtor da classe:
$data = new DateTime('2023-05-06');
Com o objeto DateTime criado, é possível manipular a data e hora de diversas formas, como formatar a data em diferentes padrões, adicionar ou subtrair um intervalo de tempo, comparar datas e muito mais. Por exemplo, para formatar a data como “06/05/2023”, basta chamar o método format() do objeto DateTime:
echo $data->format('d/m/Y');
// Saída: 06/05/2023
Além disso, o PHP oferece diversas funções nativas para trabalhar com datas, como date(), strtotime(), mktime(), entre outras. Cada função possui suas particularidades e é indicada para diferentes situações, portanto, é importante ler a documentação oficial do PHP para escolher a função mais adequada para cada caso.
Para ajudar você nessa tarefa, aqui estão algumas das funções mais úteis do PHP para lidar com datas e horários:
date() – Retorna a data e hora atual em um formato especificado. Por exemplo:
echo date("d/m/Y H:i:s");
// Saída: 06/05/2023 14:30:00
strtotime() – Converte uma string de data em um timestamp Unix. Por exemplo:
$data = "2023-05-06";
$timestamp = strtotime($data);
echo $timestamp;
// Saída: 1670236800
time() – Retorna o timestamp atual do sistema. Por exemplo:
echo time();
// Saída: 1651932318
mktime() – Retorna um timestamp Unix para uma data específica. Por exemplo:
$timestamp = mktime(0, 0, 0, 5, 6, 2023);
echo $timestamp;
// Saída: 1670236800
DateTime – Uma classe do PHP para manipulação de datas e horários, que permite a formatação e cálculo de intervalos de tempo. Por exemplo:
$data = new DateTime('2023-05-06');
echo $data->format('d/m/Y');
// Saída: 06/05/2023
$data1 = new DateTime('2023-05-06');
$data2 = new DateTime('2023-05-10');
$intervalo = $data1->diff($data2);
echo $intervalo->format('%R%d dias');
// Saída: +4 dias
strtotime() + date() – Combinando as funções strtotime() e date() é possível calcular e exibir datas futuras ou passadas. Por exemplo:
$data = "2023-05-06";
$dataFutura = strtotime('+3 days', strtotime($data));
echo date('d/m/Y', $dataFutura);
// Saída: 09/05/2023
Essas são apenas algumas das funções do PHP para lidar com datas e horários. Para mais informações, consulte a documentação oficial do PHP.