Mostrar fecha y hora según la zona horaria en PHP

Subodh Poudel 21 junio 2022
Mostrar fecha y hora según la zona horaria en PHP

La zona horaria varía según el lugar. Este artículo nos enseñará cómo mostrar la hora y la fecha según la zona horaria en PHP.

Use la clase DateTime para mostrar la hora y la fecha según la zona horaria en PHP

PHP proporciona una poderosa clase DateTime para manejar operaciones de fecha y hora. Podemos configurar la hora y la fecha usando la clase DateTime.

La clase devuelve una instancia que contiene la fecha, el tipo de zona horaria y la zona horaria. La función constructora de la clase toma dos parámetros.

El primer parámetro es la cadena de fecha/hora. El parámetro debe estar en un formato válido definido por PHP.

También podemos usar la cadena now para obtener la fecha/hora actual si usamos el parámetro de zona horaria como segundo parámetro. El segundo parámetro es la zona horaria.

Podemos usar la instancia de la clase DateTimeZone para obtener la zona horaria específica. Podemos establecer la zona horaria como parámetro del constructor de la clase DateTimeZone.

Solo se puede usar la zona horaria predefinida por PHP. Usando la clase DateTime con estos parámetros obtendrá la fecha/hora actual según la zona horaria.

Por ejemplo, cree una función display_dateTime() con un parámetro $timezone. Dentro de la función, crea un objeto de la clase DateTime.

Utilice "now" como primer parámetro y cree una instancia de la clase DateTimeZone() como segundo parámetro. Proporcione la variable $timezone como parámetro de la clase DateTimeZone().

A continuación, llame al método format() de la clase DateTime y proporcione el formato como d-m-Y, H:i:s. Usa la función echo para imprimirlo.

Fuera de la función, llame a la función varias veces con diferentes zonas horarias.

Utilice las zonas horarias Asia/Kathmandu, Asia/Tokyo y Europe/Madrid como argumentos de la función. Estas zonas horarias deben ser una cadena.

Código de ejemplo:

function display_dateTime($timezone){
    $date = new DateTime("now", new DateTimeZone($timezone));
    $timezone = explode('/',$timezone);
    echo $timezone[1].": ".$date->format('d-m-Y, H:i:s')."<br>";
}

display_dateTime('Asia/Kathmandu');
display_dateTime('Asia/Tokyo');
display_dateTime('Europe/Madrid');

Hemos recortado el nombre de la ciudad en el ejemplo anterior usando la función explotar(). Hemos utilizado la barra inclinada / como separador.

Por ejemplo, "Asia/Kathmandu" se formará como ["Asia, Kathmandu"] como un array. Extrajimos el primer índice de la matriz para obtener solo el nombre de la ciudad.

Como resultado, podemos ver los diferentes tiempos según las zonas horarias.

Producción :

Kathmandu: 07-06-2022, 11:27:35
Tokyo: 07-06-2022, 14:42:35
Madrid: 07-06-2022, 07:42:35

De esta manera, podemos configurar la hora y la fecha de acuerdo con las zonas horarias usando la clase DateTime de PHP.

Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Artículo relacionado - PHP Date

Artículo relacionado - PHP Timezone