Como obter a data e hora atual em PHP
-
Utilize
date()
andtime()
Function to Get the Current Date and Time in PHP -
Utilize
DateTime
Objeto para obter a data e hora atual em PHP
Neste artigo, vamos introduzir métodos para obter a data
e time
atuais em PHP.
- Utilizando a função
date()
etime()
. - Utilizando o objeto
DateTime
.
Utilize date()
and time()
Function to Get the Current Date and Time in PHP
Poderíamos utilizar funções embutidas date()
e time()
para obter as atuais date
e time
em PHP. Estas funções exibem a data e a hora atuais, independentemente do fuso horário. A sintaxe correta para utilizar estas duas funções é a seguinte.
date($format, $timestamp);
A função embutida date()
tem dois parâmetros. Os detalhes de seus parâmetros são os seguintes
Parâmetros | Descrição | |
---|---|---|
$format |
obrigatório | Formato da data a ser exibida. Tem várias variações. Deve ser um string. |
$timestamp |
opcional | Timestamp para obter a data. Se for omitida, então a data atual é devolvida. |
Ela retorna a data
que é definida de acordo com o formato especificado.
time();
A função time()
não aceita parâmetros. Ela retorna o timestamp atual do PHP. O carimbo de data/hora é o número de segundos calculado desde a época do Unix.
O programa abaixo mostra como obter a data
e time
atuais, independentemente do fuso horário.
<?php
$DateAndTime = date('m-d-Y h:i:s a', time());
echo "The current date and time are $DateAndTime.";
?>
O formato "m-d-Y h:i:s a"
especifica a data
retornada com valor de mês, dia e ano de 4 dígitos, e o time
em horas, minutos e segundos.
Resultado:
The current date and time are 05-20-2020 05:44:03 pm.
Uma coisa a ser observada aqui é que o time
não é definido de acordo com algum fuso horário. É a hora exibida utilizando o carimbo de horário Unix. Se você quiser verificar o time
atual do PHP com base em seu fuso horário, você precisa definir o fuso horário manualmente.
Por exemplo, se você quiser verificar o time
atual em Amsterdã, você tem que definir o fuso horário para Amsterdã manualmente. Para este propósito, a função PHP date_default_timezone_set()
é utilizada. A sintaxe correta para utilizar esta função é a seguinte
date_default_timezone_set($timezone);
Ele aceita apenas um parâmetro.
Parâmetros | Descrição | |
---|---|---|
$timezone |
obrigatório | É um string que identifica a região para a qual desejamos definir o fuso horário. Você pode verificar a lista de fusos horários suportados aqui. |
Esta função retorna um valor de bool. Se o fuso horário for definido com sucesso, ele retorna true
; caso contrário, ele retorna false
.
O programa abaixo exibirá a hora após a definição do fuso horário.
<?php
date_default_timezone_set('Europe/Amsterdam');
$DateAndTime = date('m-d-Y h:i:s a', time());
echo "The current date and time in Amsterdam are $DateAndTime.\n";
date_default_timezone_set('America/Toronto');
$DateAndTime2 = date('m-d-Y h:i:s a', time());
echo "The current date and time in Toronto are $DateAndTime2.";
?>
Resultado:
The current date and time in Amsterdam are 05-20-2020 08:08:42 pm.
The current date and time in Toronto are 05-20-2020 02:08:42 pm.
Utilize DateTime
Objeto para obter a data e hora atual em PHP
Em PHP, a classe DateTime
é utilizada para lidar com os problemas relacionados com a data
e a time
. A função format()
desta classe exibe a data e a hora em um formato especificado.
Primeiro criaremos um objeto DateTime
e depois chamaremos a função format()
para exibir a data e a hora.
$ObjectName = new DateTime();
$ObjectName->format($format);
A função format()
aceita um parâmetro.
Parâmetros | Descrição | |
---|---|---|
$format |
obrigatório | Formato da data e hora. Deve ser um string. |
O programa de exemplo que exibe a data
e a time
atuais é o seguinte.
<?php
$Object = new DateTime();
$DateAndTime = $Object->format("d-m-Y h:i:s a");
echo "The current date and time are $DateAndTime.";
?>
A saída é a data
e time
com o formato especificado. A hora exibida é a hora calculada desde a época do Unix.
Resultado:
The current date and time are 20-05-2020 06:21:06 pm.
Se você quiser verificar o tempo
de acordo com um fuso horário específico, você terá que definir o fuso horário manualmente. Para este fim, é utilizada a função PHP embutida da classe DateTime
setTimezone()
. A sintaxe correta para utilizar esta função é a seguinte.
$ObjectName = new DateTime();
$ObjectName->setTimezone(DateTimezone $timezone);
A função setTimezone()
aceita apenas um parâmetro. Ela retorna um objeto DateTime
sobre o sucesso e False
sobre o fracasso.
Parâmetro | Descrição | |
---|---|---|
$timezone |
obrigatório | É um objeto DateTimezone que especifica o fuso horário. Você pode verificar a lista de fusos horários suportados aqui. |
O programa de exemplo que exibe o tempo
de acordo com um fuso horário específico é o seguinte.
<?php
$Object = new DateTime();
$Object->setTimezone(new DateTimeZone('Europe/Amsterdam'));
$DateAndTime = $Object->format("d-m-Y h:i:s a");
echo "The current date and time in Amsterdam are $DateAndTime.\n";
$Object->setTimezone(new DateTimeZone('America/Toronto'));
$DateAndTime = $Object->format("d-m-Y h:i:s a");
echo "The current date and time in Toronto are $DateAndTime.";
?>
Resultado:
The current date and time in Amsterdam are 20-05-2020 08:43:02 pm.
The current date and time in Toronto are 20-05-2020 02:43:02 pm.
Artigo relacionado - PHP Date
- Como adicionar dias em PHP
- Como calcular a diferença entre duas datas usando PHP
- Como Converter DataTime em String em PHP
- Como converter String para Data e Data/Hora em PHP
- Como converter um formato de data em outro em PHP