Função PHP Date() e Time: Como obter o carimbo de data e hora atual?

⚡ Resumo Inteligente

A função `date()` do PHP formata timestamps em datas e horas legíveis para humanos. Este guia explica a sintaxe de data, o timestamp Unix, como listar e definir fusos horários, a função `mktime` para criar timestamps e uma referência completa dos caracteres de formato de hora, dia, mês e ano.

  • 📅 O que a função date() faz: A função de data transforma um registro de data e hora em uma string formatada usando caracteres como Y, m e d para ano, mês e dia.
  • ⏱️ Timestamp Unix: Um timestamp é o número de segundos desde 1 de janeiro de 1970 GMT, e time() retorna o valor atual.
  • ???? Fusos horários: date_default_timezone_set altera o fuso horário ativo e DateTimeZone::listIdentifiers lista todos os fusos horários suportados.
  • 🔧 mktime: A função mktime cria um registro de data e hora a partir de uma hora, minuto, segundo, mês, dia e ano específicos.
  • 🔤 Caracteres de formato: Letras individuais controlam a saída, por exemplo, H para o formato de 24 horas, l para o nome do dia da semana e F para o nome do mês.
  • 📐 Tabelas de referência: As tabelas agrupadas listam os caracteres de formato de hora, dia, mês e ano, com um exemplo executável para cada um.
  • 🤖 Assistência de IA: As ferramentas de IA podem gerar formatação de datas e códigos de diferença, além de ajudar a resolver problemas complexos relacionados a fusos horários.

Função PHP date ()

Função PHP date ()

A função `date` do PHP é uma função integrada que simplifica o trabalho com dados do tipo data. Ela é usada para formatar uma data ou hora em um formato legível para humanos. Pode ser usada para exibir a data de publicação de um artigo ou registrar quando os dados em um banco de dados foram atualizados pela última vez.

Sintaxe e exemplo de data PHP

A função date() do PHP possui a seguinte sintaxe básica.

<?php
date(format,[timestamp]);
?>

AQUI,

  • “date(…)” é a função que retorna o carimbo de data/hora atual formatado em PHP no servidor.
  • “formato” é o formato geral que desejamos para nossa saída, por exemplo:
    • “Ymd” para o formato de data PHP AAAA-MM-DD
    • “Y” para exibir o ano atual
  • O parâmetro “[timestamp]” é opcional. Se nenhum timestamp for fornecido, o PHP usará a data e hora atuais do servidor.

Vejamos um exemplo básico que mostra o ano atual.

<?php

echo date("Y");

?>

Saída:

2026

O que é um carimbo de data/hora?

Em PHP, um timestamp é um valor numérico em segundos entre o horário atual e o valor em 1.st Janeiro de 1970, 00:00:00, Horário Médio de Greenwich (GMT).

O valor retornado pela função time depende do fuso horário padrão.

O fuso horário padrão é definido no arquivo php.ini. Ele também pode ser definido programaticamente usando a função date_default_timezone_set.

O código abaixo exibe o carimbo de data/hora atual.

<?php

echo time();

?>

Supondo que você tenha salvo o arquivo timestamp.php na pasta phptuts, navegue até o URL http://localhost/phptuts/timestamp.php

TimeStamp,

Observação: o valor do registro de data e hora não é constante. Ele muda a cada segundo.

Obtendo uma lista de identificadores de fuso horário disponíveis

Antes de analisarmos como definir o fuso horário padrão programaticamente, vejamos como obter uma lista dos fusos horários suportados.

<?php

$timezone_identifiers = DateTimeZone::listIdentifiers();

foreach($timezone_identifiers as $key => $list){

echo $list . "<br/>";

}
?>

AQUI,

  • O código “$timezone_identifiers = DateTimeZone::listIdentifiers();” chama o método estático listIdentifiers da classe integrada DateTimeZone. O método listIdentifiers retorna uma lista de identificadores que são atribuídos à variável $timezone_identifiers.
  • “foreach{…}” itera pelo array e imprime os valores.

Supondo que você tenha salvo o arquivo list_time_zones.php na pasta phptuts, navegue até o URL http://localhost/phptuts/list_time_zones.php

Identificadores de fuso horário

PHP definir fuso horário programaticamente

A função date_default_timezone_set permite definir o fuso horário padrão a partir de um script PHP.

O fuso horário definido será então usado por todas as datas. Funções PHP em seus scripts. Possui a seguinte sintaxe.

<?php
date_default_timezone_set(string $timezone_identifier);
?>

AQUI,

  • “date_default_timezone_set()” é a função que define o fuso horário padrão
  • “string $timezone_identifier” é o identificador do fuso horário

O script abaixo exibe a hora de acordo com o fuso horário padrão definido no php.ini. Em seguida, ele altera o fuso horário padrão para Asia/Calcutta e exibe a hora novamente.

<?php
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");

date_default_timezone_set("Asia/Calcutta");
echo "The time in " . date_default_timezone_get() . " is " . date("H:i:s");
?>

Supondo que você tenha salvo o arquivo set_time_zone.php na pasta phptuts, navegue até o URL http://localhost/phptuts/set_time_zone.php

PHP definir fuso horário programaticamente

Função PHP Mktime

A função mktime retorna o carimbo de data/hora em um Unix formato.

Possui a seguinte sintaxe.

<?php
mktime(hour, minute, second, month, day, year, is_dst);
?>

AQUI,

  • “mktime(…)” é a função make PHP timestamp
  • “Hora” é opcional; refere-se ao número da hora.
  • "Minuto" é opcional; refere-se ao número de minutos.
  • “Segundo” é opcional; representa o número de segundos.
  • “Mês” é opcional; refere-se ao número do mês.
  • "Dia" é opcional; é o número do dia.
  • “Ano” é opcional; é o número do ano.
  • O parâmetro “is_dst” é opcional e serve para determinar o horário de verão (DST). O valor 1 indica que o horário de verão está em vigor, 0 indica que não está e -1 indica que é desconhecido.

Vejamos agora um exemplo que cria um registro de data e hora para o dia 13/10/2025 usando a função mktime.

<?php

echo mktime(0,0,0,10,13,2025);

?>

AQUI,

  • “0,0,0” representa a hora, os minutos e os segundos, respectivamente.
  • “10” é o mês do ano
  • “13” é o dia do mês
  • “2025” é o ano

Saída:

1760328000

Referência de formato de data em PHP

As tabelas abaixo mostram os caracteres de formato comuns usados ​​ao trabalhar com as funções de data do PHP.

Parâmetros de tempo

Parâmetro Descrição Exemplo
"R" Retorna a data e hora completas
<?php
echo date("r");
?>
“a”, “A” Retorna se a hora atual é am ou pm, AM ou PM respectivamente
<?php
echo date("a");
echo date("A");
?>
“g”, “G” Retorna a hora sem zeros à esquerda [1 a 12], [0 a 23] respectivamente
<?php
echo date("g");
echo date("G");
?>
“h”, “H” Retorna a hora com zeros à esquerda [01 a 12], [00 a 23], respectivamente.
<?php
echo date("h");
echo date("H");
?>
"é" Retorna os minutos/segundos com zeros à esquerda [00 a 59]
<?php
echo date("i");
echo date("s");
?>

Parâmetros do dia

Parâmetro Descrição Exemplo
“D” Retorna o dia do mês com zeros à esquerda [01 a 31]
<?php
echo date("d");
?>
"j" Retorna o dia do mês sem zeros à esquerda [1 a 31]
<?php
echo date("j");
?>
"D" Retorna as 3 primeiras letras do nome do dia [Dom a Sáb]
<?php
echo date("D");
?>
"EU" Retorna o nome do dia da semana [de domingo a sábado]
<?php
echo date("l");
?>
"C" Retorna o dia da semana sem zeros à esquerda [0 a 6]; domingo é representado por zero (0) até sábado representado por seis (6)
<?php
echo date("w");
?>
"Z" Retorna o dia do ano sem espaços iniciais [0 a 365]
<?php
echo date("z");
?>

Parâmetros do mês

Parâmetro Descrição Exemplo
"M" Retorna o número do mês com zeros à esquerda [01 a 12]
<?php
echo date("m");
?>
“N” Retorna o número do mês sem zeros à esquerda [1 a 12]
<?php
echo date("n");
?>
"M" Retorna as 3 primeiras letras do nome do mês [janeiro a dezembro]
<?php
echo date("M");
?>
"F" Retorna o nome do mês [janeiro a dezembro]
<?php
echo date("F");
?>
“T” Retorna o número de dias em um mês [28 a 31]
<?php
echo date("t");
?>

Parâmetros do ano

Parâmetro Descrição Exemplo
"L" Retorna 1 se for um ano bissexto e 0 se não for.
<?php
echo date("L");
?>
"Y" Retorna o ano no formato de quatro dígitos.
<?php
echo date("Y");
?>
“Y” Retorna o ano no formato de dois dígitos (00 a 99)
<?php
echo date("y");
?>

Perguntas Frequentes

A função `date()` é uma função procedural simples que formata um timestamp. A classe `DateTime` é orientada a objetos e suporta aritmética, comparação, fusos horários e imutabilidade, tornando-a mais adequada para lógica de datas complexa em aplicações maiores.

Use strtotime(), que lê formatos como '2025-10-13' ou 'next'. Mondaye retorna um timestamp Unix. Para análise estrita de um formato conhecido, DateTime::createFromFormat é mais seguro porque falha claramente em caso de entrada inválida.

Crie dois objetos DateTime e chame a função diff(), que retorna um DateInterval. Você pode então ler os dias, meses ou anos, por exemplo, $start->diff($end)->days para obter o número total de dias entre as datas.

Sim. Descreva o formato de entrada e saída, e a IA pode gerar código para as funções date(), DateTime ou strtotime, incluindo a adição de intervalos ou a conversão de fusos horários. Teste com casos extremos, como anos bissextos e finais de mês.

Sim. A IA consegue detectar uma chamada ausente para `date_default_timezone_set`, uma incompatibilidade de fuso horário entre o servidor e o monitor, ou problemas com o horário de verão, e então recomendar o uso de `DateTime` com fusos horários explícitos para tornar o comportamento previsível.

Resuma esta postagem com: