Ola, somos Arume

Desenvolvemos páxinas web, aplicacións para móbiles, capas de realidade aumentada e aplicacións para Facebook. Apaixónanos a informática e somos uns perfeccionistas incurables; por eso nos nosos proxectos utilizamos estándares.

tel. 625 519 694

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

Autenticarse

Rexistrarse. Esqueceches o teu contrasinal?

Etiquetas

Saltar as etiquetas

Subscríbete ás RSS

Estás en:

Directivas PHP: date.timezone

01 Dec 2011 por Jose

Comentarios: 0

PHP

Traballar con datas en programación pode ser un apartado tedioso, e aínda que as linguaxes posúen múltiples funcións para facilitar o traballo con elas, non sempre son suficientes, posto que cada linguaxe de programación pode manexalas de forma diferente e teremos que buscar sempre un punto de encontro entre todos se traballamos conxuntamente con máis dun. Tamén adoitan provocar problemas as zonas horarias e as súas configuracións, sobre todo se traballamos con servidores localizados en franxas horarias distintas.

Traballar con datas e horas en PHP

As funcións de data e hora configúranse a través de varias directivas, a máis relevante de todas elas é date.timezone que establece a zona horaria predeterminada para todas as funcións de data e hora. Consulta a listaxe de valores válidos para esta directiva. Cando date.timezone non está configurada correctamente os resultados ó traballar con funcións de hora poden non ser correctos (desviacións da hora, cambios de horarios de verán/inverno, ...).

Ademais, antes da versión 5.3 de PHP esta directiva, por defecto, estaba comentada e o programa usaba o valor definido polo sistema operativo para a zona horaria, pero a partir desta versión, PHP prefire calcular a zona horaria a través dalgún valor GMT e a directiva atópase descomentada, polo que necesita un valor correcto ou devolveranos un aviso do 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

Segundo a documentación oficial de PHP, esta directiva pódese modificar en calquera lugar: ficheiros de configuración php.ini, .htaccess, httpd.conf ou a través da función date_default_timezone_set(). A orde de prioridade que se aplica cando non se establece explicitamente é:

  1. A zona horaria establecida pola función date_default_timezone_set() (se se define)
  2. Versións anteriores a PHP 5.4.0: A variable de contorna TZ (se non está baleira)
  3. O valor da directiva date.timezone (se está establecida)
  4. Versións anteriores a PHP 5.4.0: preguntar ó sistema operativo (sempre que o sistema operativo o soporte e o permita). Non se aconsella depender desta función. No seu lugar, debe establecerse a zona horaria correcta con date.timezone
  5. Devolverá unha zona horaria predeterminada de UTC.

Máis información

Comentarios

0 comentarios. Comentar.

Comentar

Comentar de forma anónima

Podes comentar poñendo calquera nome ou alcume, exceptuando os nomes de usuarios rexistrados. Máximo de 50 caracteres.

Comentar como usuario rexistrado

Rexistrarse. Esqueceches o teu contrasinal?