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.

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
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
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
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"); ?> |



