Ejecución de scripts web en tu zona horaria

Generalidades

Muchos programas web registran o muestran la hora. Si estos programas usan la hora local, muestra la zona horaria de la costa oeste de EE. UU. (PDT / PST) que DreamHost usa para sus servidores.

Sin embargo, puedes cambiar eso para tus scripts. Mira al siguiente enlace para ver un mapa de zona horaria mundial:

Encontrar tu zona horaria

Puedes encontrar una lista de zonas horarias conocidas en tu servidor. Primero debes crear un usuario de shell, luego iniciar sesión a través de SSH. Luego puedes ejecutar el siguiente comando para ver todas las zonas horarias configuradas.

[server]$ cat /usr/share/zoneinfo/zone.tab

Por ejemplo, si vives en o cerca de Buenos Aires, Argentina (en América del Sur), tu zona horaria se encuentra en una línea como esta:

AR  -3436-05827 America/Argentina/Buenos_Aires  Buenos Aires (BA, CF)
  • El primer campo es el código de país ISO 3166 de 2 caracteres: AR en el ejemplo significa Argentina.
  • El segundo campo es la latitud y longitud de la ubicación principal de la zona en formato de signo ISO 6709-grados-minutos-segundos. Ya sea + -DDMM + -DDDMM o + -DDMMSS + -DDDMMSS, la primera latitud (+ es el norte), luego la longitud (+ es el este). En el ejemplo, -3436-05287 representa 34 ° 36'S 52 ° 87'W.
  • El tercer campo es el más importante: este es el nombre de la zona y el que debes recordar. América/Argentina/Buenos_Aires aparece en este ejemplo.
  • Puede haber un cuarto campo con comentarios que pueden ayudarte a identificar otras localidades cubiertas en la zona.

También puedes consultar esta lista de Wikipedia para obtener más información:

Cambiar la zona horaria en un script PHP

Usa una de las siguientes opciones en tu código PHP antes de ejecutar cualquier otra función de fecha. Los siguientes ejemplos usan 'América/Argentina/Buenos_Aires' como zona horaria.

ini_set("date.timezone", "America/Argentina/Buenos_Aires");
-o-
date_default_timezone_set("America/Argentina/Buenos_Aires");

Puedes encontrar tu zona horaria visitando la siguiente página:

Cambiar la zona horaria en un archivo php.ini

Además, si deseas que todos tus sitios bajo un usuario se ejecuten en una zona horaria específica, puedes crear un archivo phprc. En ese archivo, agrega la siguiente línea:

date.timezone=(America/Argentina/Buenos_Aires)

Elimina todos los procesos PHP en ejecución como se indica en el artículo. Cuando termines, todos los scripts PHP usan la zona horaria especificada en este archivo.

MySQL

Para MySQL, configura tu zona horaria UTC/GMT preferida ejecutando la siguiente consulta antes que cualquier otra. Este ejemplo utiliza la función PHP mysql_query, donde -X- es tu desplazamiento de hora UTC/GMT). Por ejemplo, usarías -5 para la ciudad de Nueva York, ya que está 5 horas detrás de GMT.

mysql_query("SET time_zone = '-5:00';");

Esta consulta debe correrse al comienzo de cada ejecución de script, ya que el cambio dura sólo mientras se ejecuta tu script, o si estás conectado al servidor MySQL.

Para mayor información por favor visita:

Ver el tiempo que usa PHP

Crea un nuevo archivo llamado algo así como date.php con el siguiente código:

<?php
echo date('l jS \of F Y h:i:s A');
?>

Visita esta página en un navegador para ver el tiempo que usa tu código PHP.

Ver también

¿Este artículo ha respondido sus preguntas?

Última actualización el PST.

¿Aún no encuentra lo que busca?