Data e hora do PHP
A função PHP date()
é usada para formatar uma data e/ou hora.
A função PHP Date()
A função PHP date()
formata um carimbo de data/hora para uma data e hora mais legíveis.
Sintaxe
date(format,timestamp)
Parameter | Description |
---|---|
format | Required. Specifies the format of the timestamp |
timestamp | Optional. Specifies a timestamp. Default is the current date and time |
Um carimbo de data/hora é uma sequência de caracteres, denotando a data e/ou hora em que um determinado evento ocorreu.
Obter uma data
O parâmetro de formato obrigatório da função date() especifica como formatar a data (ou hora).
Aqui estão alguns caracteres que são comumente usados para datas:
- d - Representa o dia do mês (01 a 31)
- m - Representa um mês (01 a 12)
- Y - Representa um ano (em quatro dígitos)
- l ('L' minúsculo) - Representa o dia da semana
Outros caracteres, como "/", "." ou "-" também podem ser inseridos entre os caracteres para adicionar formatação adicional.
O exemplo abaixo formata a data de hoje de três maneiras diferentes:
Exemplo
<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>
Dica PHP - Ano Automático de Direitos Autorais
Use a date()
função para atualizar automaticamente o ano de direitos autorais em seu site:
Exemplo
© 2010-<?php echo date("Y");?>
Obter um tempo
Aqui estão alguns caracteres que são comumente usados para tempos:
- H - formato de 24 horas de uma hora (00 a 23)
- h - formato de 12 horas de uma hora com zeros à esquerda (01 a 12)
- i - Minutos com zeros à esquerda (00 a 59)
- s - Segundos com zeros à esquerda (00 a 59)
- a - Minúsculas Ante meridiem e Post meridiem (am ou pm)
O exemplo abaixo gera a hora atual no formato especificado:
Exemplo
<?php
echo "The time is " . date("h:i:sa");
?>
Observe que a função PHP date() retornará a data/hora atual do servidor!
Obtenha seu fuso horário
Se a hora que você retornou do código não estiver correta, provavelmente é porque seu servidor está em outro país ou configurado para um fuso horário diferente.
Portanto, se você precisar que o horário esteja correto de acordo com um local específico, poderá definir o fuso horário que deseja usar.
O exemplo abaixo define o fuso horário como "America/New_York" e gera a hora atual no formato especificado:
Exemplo
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
Criar uma data com mktime()
O parâmetro opcional timestamp na função date() especifica um timestamp. Se omitido, a data e hora atuais serão usadas (como nos exemplos acima).
A função PHP mktime()
retorna o timestamp Unix para uma data. O carimbo de data/hora do Unix contém o número de segundos entre o Unix Epoch (1 de janeiro de 1970 00:00:00 GMT) e a hora especificada.
Sintaxe
mktime(hour, minute, second, month, day, year)
O exemplo abaixo cria uma data e hora com a
date()
função a partir de vários parâmetros na
mktime()
função:
Exemplo
<?php
$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
Crie uma data a partir de uma string com strtotime()
A função PHP strtotime()
é usada para converter uma string de data legível por humanos em um timestamp Unix (o número de segundos desde 1º de janeiro de 1970 00:00:00 GMT).
Sintaxe
strtotime(time, now)
O exemplo abaixo cria uma data e hora a partir da strtotime()
função:
Exemplo
<?php
$d=strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
O PHP é bastante inteligente para converter uma string em uma data, então você pode colocar vários valores:
Exemplo
<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
No entanto, strtotime()
não é perfeito, então lembre-se de verificar as cordas que você colocou lá.
Mais exemplos de datas
O exemplo abaixo gera as datas para os próximos seis sábados:
Exemplo
<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);
while ($startdate < $enddate) {
echo date("M d", $startdate) . "<br>";
$startdate = strtotime("+1 week", $startdate);
}
?>
O exemplo abaixo gera o número de dias até 4 de julho:
Exemplo
<?php
$d1=strtotime("July 04");
$d2=ceil(($d1-time())/60/60/24);
echo "There are " . $d2 ." days until 4th of July.";
?>
Referência de data completa do PHP
Para obter uma referência completa de todas as funções de data, acesse nossa Referência completa de datas do PHP .
A referência contém uma breve descrição e exemplos de uso para cada função!