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 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.
LinkedInArtículo relacionado - PHP Date
- Cómo añadir días a la fecha en PHP
- Cómo calcular la diferencia entre dos fechas usando PHP
- Cómo convertir DateTime a cadena en PHP
- Cómo convertir una cadena a fecha y hora en PHP
- Cómo convertir un formato de fecha a otro en PHP
- Cómo obtener la fecha y hora actuales en PHP