Cómo obtener la fecha y hora actuales en PHP

  1. Usando la función date() y time() para obtener la fecha y hora actuales en PHP
  2. Usando el objeto DateTime para obtener la fecha y hora actuales en PHP

En este artículo, presentaremos métodos para obtener la fecha y hora actuales en PHP.

  • Usando la función date() y time()
  • Usando el objeto DateTime

Usando la función date() y time() para obtener la fecha y hora actuales en PHP

Podríamos usar funciones integradas date() y time() para obtener la fecha y hora actuales en PHP. Estas funciones muestran la fecha y hora actuales independientemente de la zona horaria. La sintaxis correcta para usar estas dos funciones es la siguiente.

date($format, $timestamp);

La función incorporada date() tiene dos parámetros. Los detalles de sus parámetros son los siguientes

Parámetros Descripción
$format obligatorio Formato de fecha a mostrar. Tiene varias variaciones. Debería ser una cadena.
$timestamp Opcional Marca de tiempo para obtener la fecha. Si se omite, se devuelve la fecha actual.

Devuelve la fecha que se establece de acuerdo con el formato especificado.

time();

La función time() no acepta parámetros. Devuelve la marca de tiempo PHP actual. La marca de tiempo es la cantidad de segundos calculados desde la época de Unix.

El siguiente programa muestra cómo obtener la fecha y hora actual independientemente de la zona horaria.

<?php
$DateAndTime = date('m-d-Y h:i:s a', time());  
echo "The current date and time are $DateAndTime.";
?>

El formato "m-d-Y h:i:s a" especifica la fecha devuelta con valor de mes, día y año de 4 dígitos, y el tiempo en horas, minutos y segundos.

Producción:

The current date and time are 05-20-2020 05:44:03 pm.

Una cosa a tener en cuenta aquí es que el tiempo no está configurado de acuerdo con alguna zona horaria. Es la hora que se muestra con la marca de tiempo de Unix. Si desea verificar el tiempo PHP actual en función de su zona horaria, debe configurar la zona horaria manualmente.

Por ejemplo, si desea verificar la hora actual en Amsterdam, debe configurar la zona horaria de Amsterdam manualmente. Para este propósito, se utiliza la función PHP date_default_timezone_set(). La sintaxis correcta para usar esta función es la siguiente

date_default_timezone_set($timezone);

Solo acepta un parámetro.

Parámetros Descripción
$timezone obligatorio Es una cadena que identifica la región para la que deseamos establecer la zona horaria. Puede consultar la lista de zonas horarias admitidas aquí.

Esta función devuelve un valor bool. Si la zona horaria se establece correctamente, devuelve true; de lo contrario, devuelve false.

El siguiente programa mostrará la hora después de configurar la zona horaria.

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

Producción:

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.

Usando el objeto DateTime para obtener la fecha y hora actuales en PHP

En PHP, la clase DateTime se usa para tratar los problemas relacionados con la fecha y la hora. La función format() de esta clase muestra la fecha y la hora en un formato específico.

Primero crearemos un objeto DateTime y luego llamaremos a la función format() para mostrar la fecha y la hora.

$ObjectName = new DateTime();
$ObjectName->format($format); 

La función format() acepta un parámetro.

Parámetros Descripción
$format obligatorio Formato de la fecha y hora. Debería ser una cadena.

El programa de ejemplo que muestra la fecha y hora actual es el siguiente.

<?php
$Object = new DateTime();  
$DateAndTime = $Object->format("d-m-Y h:i:s a");  
echo "The current date and time are $DateAndTime.";
?>

La salida es la fecha y la hora con el formato especificado. El tiempo que se muestra es el tiempo calculado desde la época de Unix.

Producción:

The current date and time are 20-05-2020 06:21:06 pm.

Si desea verificar la hora de acuerdo con una zona horaria específica, deberá configurarla manualmente. Para este propósito, se utiliza la función integrada PHP de la clase DateTime setTimezone(). La sintaxis correcta para usar esta función es la siguiente.

$ObjectName = new DateTime();
$ObjectName->setTimezone(DateTimezone $timezone); 

La función setTimezone() acepta solo un parámetro. Devuelve un objeto DateTime en caso de éxito y False en caso de error.

Parámetro Descripción
$timezone obligatorio Es un objeto DateTimezone que especifica la zona horaria. Puede consultar la lista de zonas horarias admitidas aquí.

El programa de ejemplo que muestra el tiempo según una zona horaria específica es el siguiente.

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

Producción:

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.

Artículo relacionado - PHP Date

  • Cómo convertir un formato de fecha a otro en PHP
  • Artículo relacionado - PHP DateTime

  • Cómo calcular la diferencia entre dos fechas usando PHP
  • Cómo añadir días a la fecha en PHP