Código de PHP - Obtener la fecha de cualquier zona horaria del mundo

Imágen de perfil

Obtener la fecha de cualquier zona horaria del mundográfica de visualizaciones


PHP

estrellaestrellaestrellaestrellaestrella(2)
Publicado el 29 de Septiembre del 2011 por Xavi
5.673 visualizaciones desde el 29 de Septiembre del 2011. Una media de 21 por semana
Ejemplo del uso del datetime y datetimezone para obtener la fecha de cualquier parte del mundo. Se muestra como obtener la diferencia en segundos de cualquier parte del mundo, y un listado con todas las horas del mundo.

Versión 1
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 29 de Septiembre del 2011gráfica de visualizaciones de la versión: Versión 1
5.674 visualizaciones desde el 29 de Septiembre del 2011. Una media de 21 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
/**
 * Ejemplo del uso del datetime y datetimezone para obtener la fecha de cualquier
 * parte del mundo
 */
 
# Mostramos la fecha de nuestro servidor
echo "Fecha Actual: ".date("Y/m/d H:i:s");
# Mostramos la fecha en UTC
echo "Fecha UTC: ".gmdate("Y/m/d H:i:s");
 
echo "<hr>";
 
# Mostramos la diferencia en segundos de Europe/Madrid en referencia al UTC
# y mostramos la fecha de la zona horaria Europe/Madrid
$timezone="Europe/Madrid";
$dt=new datetime("now",new datetimezone($timezone));
echo "Zona horaria: ".$dt->getTimezone()->getName();
echo "Diferencia horaria con UTC (segundos): ".$dt->getOffset();
echo "Fecha de la Zona horaria: ".gmdate("Y/m/d H:i:s",(time()+$dt->getOffset()));
 
echo "<hr>";
 
# Mostramos la diferencia en segundos de Europe/Madrid en referencia al UTC
# en una fecha dada
$dateTimeUTC="2001-01-01 12:00:00";
$dt=new datetime($dateTimeUTC,new datetimezone($timezone));
echo "Zona horaria: ".$dt->getTimezone()->getName();
echo "Diferencia horaria con UTC (segundos): ".$dt->getOffset();
echo "Fecha de la Zona horaria: ".date("Y/m/d H:i:s",(strtotime($dateTimeUTC)+$dt->getOffset()));
 
 
# Mostramos el listado de todas las zonas horarias con su hora actual
echo "<hr>";
echo "<p>Listado de las zonas horarias</p>";
 
echo "<div style='clear:both;float:left;width:200px;'>ZonaHoraria</div>";
echo "<div style='float:left;width:70px;'>Dif. UTC</div>";
echo "<div style='float:left;width:200px;text-align:center;'>Hora Actual</div>";
 
foreach(DateTimeZone::listIdentifiers() as $tz)
{
	echo "<div style='clear:both;float:left;width:200px;'>".$tz."</div>";
	$dt=new datetime("now",new datetimezone($tz));
	echo "<div style='float:left;width:70px;text-align:right;'>".$dt->getOffset()."</div>";
	echo "<div style='float:left;width:200px;text-align:center;'>".gmdate("Y/m/d H:i:s",(time()+$dt->getOffset()))."</div>";
}
?>



Comentarios sobre la versión: Versión 1 (2)

LEO
21 de Mayo del 2015
estrellaestrellaestrellaestrellaestrella
buena alguien me puede ayudar como puedo guardar una fecha con php
tengo este codigo pero no me aparece am o pm y no se como guardar alguien me puede ayudar

echo "Fecha UTC: ".gmdate("Y/m/d H:i:s");
Responder
JackEitor
01 de Enero del 2016
estrellaestrellaestrellaestrellaestrella
Hola,

Hoy bicheando por la red me he topado con esta página y la verdad agradecer a Xavi por el código, me ayudó mucho, era lo que buscaba.

Y bueno, respondiendo a la pregunta del amigo Leo (no sé si ya te valdrá pero bueno), no sé a que te refieres con "guardar" porque si no me equivoco, no se puede a menos que lo hagas en una variable, sino tendrás que usar base de datos. Ej:

$fecha_guardada = "Fecha UTC: ".gmdate("Y/m/d H:i:s");

Y éso ya la manejas como quieras:

if ($fecha_guardada == "2016/01/01 00:00:00") echo "Feliz año 2016";

Para poner AM ó PM te lo dá el "A", sería así:

"Fecha UTC: ".gmdate("Y/m/d H:i:s a");

Más datos sobre el formato de la fecha:

http://php.net/manual/es/function.date.php

Saludos.
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2114