Hola, somos Arume

Desarrollamos páginas web, aplicaciones para móviles, capas de realidad aumentada y aplicaciones para Facebook. Nos apasiona la informática y somos unos perfeccionistas incurables; por eso en nuestros proyectos utilizamos estándares.

tel. 625 519 694

Mendaña de Neyra, 34, 3º B, 15008, A Coruña

Autenticarse

Registrarse. ¿Has olvidado tu contraseña?

Etiquetas

Saltar las etiquetas

Suscríbete a las RSS

Estás en:

Directivas PHP: date.timezone

01 Dic 2011 por Jose

Comentarios: 0

PHP

Trabajar con fechas en programación puede ser un apartado tedioso, y aunque los lenguajes poseen múltiples funciones para facilitar el trabajo con ellas, no siempre son suficientes, puesto que cada lenguaje de programación puede manejarlas de forma diferente y tendremos que buscar siempre un punto de encuentro entre todos si trabajamos conjuntamente con más de uno. También suelen provocar problemas las zonas horarias y sus configuraciones, sobre todo si trabajamos con servidores localizados en franjas horarias distintas.

Trabajar con fechas y horas en PHP

Las funciones de fecha y hora se configuran a través de varias directivas, la más relevante de todas ellas es date.timezone que establece la zona horaria predeterminada para todas las funciones de fecha y hora. Consulta el listado de valores válidos para esta directiva. Cuando date.timezone no está configurada correctamente los resultados al trabajar con funciones de hora pueden no ser correctos (desviaciones de la hora, cambios de horarios de verano/invierno, ...).

Además, antes de la versión 5.3 de PHP esta directiva, por defecto, estaba comentada y el programa usaba el valor definido por el sistema operativo para la zona horaria, pero a partir de esta versión, PHP prefiere calcular la zona horaria a través de algún valor GMT y la directiva se encuentra descomentada, por lo que necesita un valor correcto o nos devolverá un aviso del tipo:

Warning: date(): It is not safe to rely on the system's timezone settings.
You are *required* to use the date.timezone setting or the
date_default_timezone_set() function. In case you used any of those methods
and you are still getting this warning, you most likely misspelled the
timezone identifier.

Configuración de date.timezone

Según la documentación oficial de PHP, esta directiva se puede modificar en cualquier lugar: ficheros de configuración php.ini, .htaccess, httpd.conf o a través de la función date_default_timezone_set(). El orden de prioridad que se aplica cuando no se establece explícitamente es:

  1. La zona horaria establecida por la función date_default_timezone_set() (si se define)
  2. Versiones anteriores a PHP 5.4.0: La variable de entorno TZ (si no está vacía)
  3. El valor de la directiva date.timezone (si está establecida)
  4. Versiones anteriores a PHP 5.4.0: preguntar al sistema operativo (siempre que el sistema operativo lo soporte y lo permita). No se aconseja depender de esta función. En su lugar, debe establecerse la zona horaria correcta con date.timezone
  5. Devolverá una zona horaria predeterminada de UTC.

Más información

Comentarios

0 comentarios. Comentar.

Comentar

Comentar de forma anónima

Puedes comentar poniendo cualquier nombre o apodo, exceptuando los nombres de usuarios registrados. Máximo de 50 caracteres.

Comentar como usuario registrado

Registrarse. ¿Has olvidado tu contraseña?