"No tenía miedo a las dificultades: lo que la asustaba era la obligación de tener que escoger un camino. Escoger un camino significaba abandonar otros. "

Soy una persona apasionada por todo lo que tiene que ver con Internet y las nuevas tecnologías. Soy autodidacta, y me encanta impartir clases...


Configurar Zona Horaria con PHP

Miércoles 23 de Febrero de 2011

Varios sobre PHP y MySQL
Autor: César Cancino
Categoría: Varios sobre PHP y MySQL
Etiquetas Programación, php, mysl
Comentarios 33

A veces, el servidor que contiene nuestras paginas web está situado en la otra punta del mundo, lo que, entre otras cosas, hace que todo lo relacionado con la hora y la fecha se vea afectado por los diferentes husos horarios.

¿Qué te gustaría compartir con nosotros?

Compartir

A veces, el servidor que contiene nuestras paginas web está situado en la otra punta del mundo, lo que, entre otras cosas, hace que todo lo relacionado con la hora y la fecha se vea afectado por los diferentes husos horarios.



Para que su página web no ponga que escribes los post de madrugada cuando en realidad los mandas desde el trabajo, aquí tienes un ejemplo en PHP de como corregir el huso horario sobre el que nuestra página debe trabajar. Si se fijan, usamos la función date_default_timezone_set() para indicarle al servidor la zona horaria, y trabajamos con las funciones date() y time() para mostrar la hora.



<?php

date_default_timezone_set("Chile/Continental");
echo "La hora en Chile es: " . date ("H:i",time()) . "<br />";

?>


Aquí les dejo las zonas horarias que encontré recopilando en la red. Seleccionen la que se acomode a su país e impleméntenla. Sería una buena idea detectar el país del visitante y definir la zona horaria dinámicamente. Suerte!!!

  • Africa/Abidjan
  • Africa/Accra
  • Africa/Addis_Ababa
  • Africa/Algiers
  • Africa/Asmara
  • Africa/Asmera
  • Africa/Bamako
  • Africa/Bangui
  • Africa/Banjul
  • Africa/Bissau
  • Africa/Blantyre
  • Africa/Brazzaville
  • Africa/Bujumbura
  • Africa/Cairo
  • Africa/Casablanca
  • Africa/Ceuta
  • Africa/Conakry
  • Africa/Dakar
  • Africa/Dar_es_Salaam
  • Africa/Djibouti
  • Africa/Douala
  • Africa/El_Aaiun
  • Africa/Freetown
  • Africa/Gaborone
  • Africa/Harare
  • Africa/Johannesburg
  • Africa/Kampala
  • Africa/Khartoum
  • Africa/Kigali
  • Africa/Kinshasa
  • Africa/Lagos
  • Africa/Libreville
  • Africa/Lome
  • Africa/Luanda
  • Africa/Lubumbashi
  • Africa/Lusaka
  • Africa/Malabo
  • Africa/Maputo
  • Africa/Maseru
  • Africa/Mbabane
  • Africa/Mogadishu
  • Africa/Monrovia
  • Africa/Nairobi
  • Africa/Ndjamena
  • Africa/Niamey
  • Africa/Nouakchott
  • Africa/Ouagadougou
  • Africa/Porto-Novo
  • Africa/Sao_Tome
  • Africa/Timbuktu
  • Africa/Tripoli
  • Africa/Tunis
  • Africa/Windhoek
  • America/Adak
  • America/Anchorage
  • America/Anguilla
  • America/Antigua
  • America/Araguaina
  • America/Argentina/Buenos_Aires
  • America/Argentina/Catamarca
  • America/Argentina/ComodRivadavia
  • America/Argentina/Cordoba
  • America/Argentina/Jujuy
  • America/Argentina/La_Rioja
  • America/Argentina/Mendoza
  • America/Argentina/Rio_Gallegos
  • America/Argentina/San_Juan
  • America/Argentina/Tucuman
  • America/Argentina/Ushuaia
  • America/Aruba
  • America/Asuncion
  • America/Atikokan
  • America/Atka
  • America/Bahia
  • America/Barbados
  • America/Belem
  • America/Belize
  • America/Blanc-Sablon
  • America/Boa_Vista
  • America/Bogota
  • America/Boise
  • America/Buenos_Aires
  • America/Cambridge_Bay
  • America/Campo_Grande
  • America/Cancun
  • America/Caracas
  • America/Catamarca
  • America/Cayenne
  • America/Cayman
  • America/Chicago
  • America/Chihuahua
  • America/Coral_Harbour
  • America/Cordoba
  • America/Costa_Rica
  • America/Cuiaba
  • America/Curacao
  • America/Danmarkshavn
  • America/Dawson
  • America/Dawson_Creek
  • America/Denver
  • America/Detroit
  • America/Dominica
  • America/Edmonton
  • America/Eirunepe
  • America/El_Salvador
  • America/Ensenada
  • America/Fort_Wayne
  • America/Fortaleza
  • America/Glace_Bay
  • America/Godthab
  • America/Goose_Bay
  • America/Grand_Turk
  • America/Grenada
  • America/Guadeloupe
  • America/Guatemala
  • America/Guayaquil
  • America/Guyana
  • America/Halifax
  • America/Havana
  • America/Hermosillo
  • America/Indiana/Indianapolis
  • America/Indiana/Knox
  • America/Indiana/Marengo
  • America/Indiana/Petersburg
  • America/Indiana/Vevay
  • America/Indiana/Vincennes
  • America/Indiana/Winamac
  • America/Indianapolis
  • America/Inuvik
  • America/Iqaluit
  • America/Jamaica
  • America/Jujuy
  • America/Juneau
  • America/Kentucky/Louisville
  • America/Kentucky/Monticello
  • America/Knox_IN
  • America/La_Paz
  • America/Lima
  • America/Los_Angeles
  • America/Louisville
  • America/Maceio
  • America/Managua
  • America/Manaus
  • America/Martinique
  • America/Mazatlan
  • America/Mendoza
  • America/Menominee
  • America/Merida
  • America/Mexico_City
  • America/Miquelon
  • America/Moncton
  • America/Monterrey
  • America/Montevideo
  • America/Montreal
  • America/Montserrat
  • America/Nassau
  • America/New_York
  • America/Nipigon
  • America/Nome
  • America/Noronha
  • America/North_Dakota/Center
  • America/North_Dakota/New_Salem
  • America/Panama
  • America/Pangnirtung
  • America/Paramaribo
  • America/Phoenix
  • America/Port-au-Prince
  • America/Port_of_Spain
  • America/Porto_Acre
  • America/Porto_Velho
  • America/Puerto_Rico
  • America/Rainy_River
  • America/Rankin_Inlet
  • America/Recife
  • America/Regina
  • America/Resolute
  • America/Rio_Branco
  • America/Rosario
  • America/Santiago
  • America/Santo_Domingo
  • America/Sao_Paulo
  • America/Scoresbysund
  • America/Shiprock
  • America/St_Johns
  • America/St_Kitts
  • America/St_Lucia
  • America/St_Thomas
  • America/St_Vincent
  • America/Swift_Current
  • America/Tegucigalpa
  • America/Thule
  • America/Thunder_Bay
  • America/Tijuana
  • America/Toronto
  • America/Tortola
  • America/Vancouver
  • America/Virgin
  • America/Whitehorse
  • America/Winnipeg
  • America/Yakutat
  • America/Yellowknife
  • Antarctica/Casey
  • Antarctica/Davis
  • Antarctica/DumontDUrville
  • Antarctica/Mawson
  • Antarctica/McMurdo
  • Antarctica/Palmer
  • Antarctica/Rothera
  • Antarctica/South_Pole
  • Antarctica/Syowa
  • Antarctica/Vostok
  • Arctic/Longyearbyen
  • Asia/Aden
  • Asia/Almaty
  • Asia/Amman
  • Asia/Anadyr
  • Asia/Aqtau
  • Asia/Aqtobe
  • Asia/Ashgabat
  • Asia/Ashkhabad
  • Asia/Baghdad
  • Asia/Bahrain
  • Asia/Baku
  • Asia/Bangkok
  • Asia/Beirut
  • Asia/Bishkek
  • Asia/Brunei
  • Asia/Calcutta
  • Asia/Choibalsan
  • Asia/Chongqing
  • Asia/Chungking
  • Asia/Colombo
  • Asia/Dacca
  • Asia/Damascus
  • Asia/Dhaka
  • Asia/Dili
  • Asia/Dubai
  • Asia/Dushanbe
  • Asia/Gaza
  • Asia/Harbin
  • Asia/Hong_Kong
  • Asia/Hovd
  • Asia/Irkutsk
  • Asia/Istanbul
  • Asia/Jakarta
  • Asia/Jayapura
  • Asia/Jerusalem
  • Asia/Kabul
  • Asia/Kamchatka
  • Asia/Karachi
  • Asia/Kashgar
  • Asia/Katmandu
  • Asia/Krasnoyarsk
  • Asia/Kuala_Lumpur
  • Asia/Kuching
  • Asia/Kuwait
  • Asia/Macao
  • Asia/Macau
  • Asia/Magadan
  • Asia/Makassar
  • Asia/Manila
  • Asia/Muscat
  • Asia/Nicosia
  • Asia/Novosibirsk
  • Asia/Omsk
  • Asia/Oral
  • Asia/Phnom_Penh
  • Asia/Pontianak
  • Asia/Pyongyang
  • Asia/Qatar
  • Asia/Qyzylorda
  • Asia/Rangoon
  • Asia/Riyadh
  • Asia/Riyadh87
  • Asia/Riyadh88
  • Asia/Riyadh89
  • Asia/Saigon
  • Asia/Sakhalin
  • Asia/Samarkand
  • Asia/Seoul
  • Asia/Shanghai
  • Asia/Singapore
  • Asia/Taipei
  • Asia/Tashkent
  • Asia/Tbilisi
  • Asia/Tehran
  • Asia/Tel_Aviv
  • Asia/Thimbu
  • Asia/Thimphu
  • Asia/Tokyo
  • Asia/Ujung_Pandang
  • Asia/Ulaanbaatar
  • Asia/Ulan_Bator
  • Asia/Urumqi
  • Asia/Vientiane
  • Asia/Vladivostok
  • Asia/Yakutsk
  • Asia/Yekaterinburg
  • Asia/Yerevan
  • Atlantic/Azores
  • Atlantic/Bermuda
  • Atlantic/Canary
  • Atlantic/Cape_Verde
  • Atlantic/Faeroe
  • Atlantic/Faroe
  • Atlantic/Jan_Mayen
  • Atlantic/Madeira
  • Atlantic/Reykjavik
  • Atlantic/South_Georgia
  • Atlantic/St_Helena
  • Atlantic/Stanley
  • Australia/ACT
  • Australia/Adelaide
  • Australia/Brisbane
  • Australia/Broken_Hill
  • Australia/Canberra
  • Australia/Currie
  • Australia/Darwin
  • Australia/Eucla
  • Australia/Hobart
  • Australia/LHI
  • Australia/Lindeman
  • Australia/Lord_Howe
  • Australia/Melbourne
  • Australia/NSW
  • Australia/North
  • Australia/Perth
  • Australia/Queensland
  • Australia/South
  • Australia/Sydney
  • Australia/Tasmania
  • Australia/Victoria
  • Australia/West
  • Australia/Yancowinna
  • Brazil/Acre
  • Brazil/DeNoronha
  • Brazil/East
  • Brazil/West
  • CET
  • CST6CDT
  • Canada/Atlantic
  • Canada/Central
  • Canada/East-Saskatchewan
  • Canada/Eastern
  • Canada/Mountain
  • Canada/Newfoundland
  • Canada/Pacific
  • Canada/Saskatchewan
  • Canada/Yukon
  • Chile/Continental
  • Chile/EasterIsland
  • Cuba
  • EET
  • EST
  • EST5EDT
  • Egypt
  • Eire
  • Etc/GMT
  • Etc/GMT+0
  • Etc/GMT+1
  • Etc/GMT+10
  • Etc/GMT+11
  • Etc/GMT+12
  • Etc/GMT+2
  • Etc/GMT+3
  • Etc/GMT+4
  • Etc/GMT+5
  • Etc/GMT+6
  • Etc/GMT+7
  • Etc/GMT+8
  • Etc/GMT+9
  • Etc/GMT-0
  • Etc/GMT-1
  • Etc/GMT-10
  • Etc/GMT-11
  • Etc/GMT-12
  • Etc/GMT-13
  • Etc/GMT-14
  • Etc/GMT-2
  • Etc/GMT-3
  • Etc/GMT-4
  • Etc/GMT-5
  • Etc/GMT-6
  • Etc/GMT-7
  • Etc/GMT-8
  • Etc/GMT-9
  • Etc/GMT0
  • Etc/Greenwich
  • Etc/UCT
  • Etc/UTC
  • Etc/Universal
  • Etc/Zulu
  • Europe/Amsterdam
  • Europe/Andorra
  • Europe/Athens
  • Europe/Belfast
  • Europe/Belgrade
  • Europe/Berlin
  • Europe/Bratislava
  • Europe/Brussels
  • Europe/Bucharest
  • Europe/Budapest
  • Europe/Chisinau
  • Europe/Copenhagen
  • Europe/Dublin
  • Europe/Gibraltar
  • Europe/Guernsey
  • Europe/Helsinki
  • Europe/Isle_of_Man
  • Europe/Istanbul
  • Europe/Jersey
  • Europe/Kaliningrad
  • Europe/Kiev
  • Europe/Lisbon
  • Europe/Ljubljana
  • Europe/London
  • Europe/Luxembourg
  • Europe/Madrid
  • Europe/Malta
  • Europe/Mariehamn
  • Europe/Minsk
  • Europe/Monaco
  • Europe/Moscow
  • Europe/Nicosia
  • Europe/Oslo
  • Europe/Paris
  • Europe/Podgorica
  • Europe/Prague
  • Europe/Riga
  • Europe/Rome
  • Europe/Samara
  • Europe/San_Marino
  • Europe/Sarajevo
  • Europe/Simferopol
  • Europe/Skopje
  • Europe/Sofia
  • Europe/Stockholm
  • Europe/Tallinn
  • Europe/Tirane
  • Europe/Tiraspol
  • Europe/Uzhgorod
  • Europe/Vaduz
  • Europe/Vatican
  • Europe/Vienna
  • Europe/Vilnius
  • Europe/Volgograd
  • Europe/Warsaw
  • Europe/Zagreb
  • Europe/Zaporozhye
  • Europe/Zurich
  • Factory
  • GB
  • GB-Eire
  • GMT
  • GMT+0
  • GMT-0
  • GMT0
  • Greenwich
  • HST
  • Hongkong
  • Iceland
  • Indian/Antananarivo
  • Indian/Chagos
  • Indian/Christmas
  • Indian/Cocos
  • Indian/Comoro
  • Indian/Kerguelen
  • Indian/Mahe
  • Indian/Maldives
  • Indian/Mauritius
  • Indian/Mayotte
  • Indian/Reunion
  • Iran
  • Israel
  • Jamaica
  • Japan
  • Kwajalein
  • Libya
  • MET
  • MST
  • MST7MDT
  • Mexico/BajaNorte
  • Mexico/BajaSur
  • Mexico/General
  • Mideast/Riyadh87
  • Mideast/Riyadh88
  • Mideast/Riyadh89
  • NZ
  • NZ-CHAT
  • Navajo
  • PRC
  • PST8PDT
  • Pacific/Apia
  • Pacific/Auckland
  • Pacific/Chatham
  • Pacific/Easter
  • Pacific/Efate
  • Pacific/Enderbury
  • Pacific/Fakaofo
  • Pacific/Fiji
  • Pacific/Funafuti
  • Pacific/Galapagos
  • Pacific/Gambier
  • Pacific/Guadalcanal
  • Pacific/Guam
  • Pacific/Honolulu
  • Pacific/Johnston
  • Pacific/Kiritimati
  • Pacific/Kosrae
  • Pacific/Kwajalein
  • Pacific/Majuro
  • Pacific/Marquesas
  • Pacific/Midway
  • Pacific/Nauru
  • Pacific/Niue
  • Pacific/Norfolk
  • Pacific/Noumea
  • Pacific/Pago_Pago
  • Pacific/Palau
  • Pacific/Pitcairn
  • Pacific/Ponape
  • Pacific/Port_Moresby
  • Pacific/Rarotonga
  • Pacific/Saipan
  • Pacific/Samoa
  • Pacific/Tahiti
  • Pacific/Tarawa
  • Pacific/Tongatapu
  • Pacific/Truk
  • Pacific/Wake
  • Pacific/Wallis
  • Pacific/Yap
  • Poland
  • Portugal
  • ROC
  • ROK
  • Singapore
  • Turkey
  • UCT
  • US/Alaska
  • US/Aleutian
  • US/Arizona
  • US/Central
  • US/East-Indiana
  • US/Eastern
  • US/Hawaii
  • US/Indiana-Starke
  • US/Michigan
  • US/Mountain
  • US/Pacific
  • US/Pacific-New
  • US/Samoa
  • UTC
  • Universal
  • W-SU
  • WET
  • Zulu

33 Comentarios

  1. constanza
    Lunes 21 de Marzo de 2016

    con date_default_timezone_set("Chile/Continental"); no debiera haber problema para el cambios de hora en chile? yo actualmente uso date_default_timezone_set("America/Santiago");

  2. Hector
    Jueves 20 de Febrero de 2014

    gracias x el dato, buen post

  3. David
    Martes 10 de Diciembre de 2013

    Buen aporte Cesar.. he visto muchos de tus videos.. Sólo mencionar para encontrar su zona horaria en algunos casos buscar no por el nombre del pais, sinó por el nombre de la capital de ese pais, por ejemplo en mi caso que soy de Peru no hay "Peru" pero si hay "Lima" que es su capital, de igual manera para Colombia buscar como Bogota que es su capital.. Para los demás que no encuentran su pais, busquen por la capital de su pais.. Saludos PHPeros ;)

  4. Mike
    Lunes 28 de Octubre de 2013

    Woow Excelente!!!! muchas gracias, es una gran ayuda ya que tenia problemas por la hora pero ahora a quedado resuelto :)

  5. raul
    Miércoles 09 de Octubre de 2013

    Excelente aporte amigo, hay muchas información, pero lejos esta es la precisa, gracias, saludos!!

  6. Rube
    Miércoles 21 de Agosto de 2013

    muy buen aporte, ahora voy a contruir un codigo para hora de los partidos de futbol, estaba usando blogger pero no se puede usar php.

  7. Annel
    Miércoles 29 de Mayo de 2013

    Muy bien,,, pero parece una manera muy sencilla y fácil.. Saludos

  8. Stefani
    Jueves 04 de Abril de 2013

    GRACIAS!!!

  9. Giovanni
    Miércoles 06 de Marzo de 2013

    Muy buena publicación, util.

  10. Gon
    Martes 19 de Febrero de 2013

    Muchas gracias, me ha servido genial.

  11. Braulio
    Sábado 09 de Febrero de 2013

    Muchas gracias, me ha sido de mucha utilidad, estaba vuelto loco con esto.

  12. Ivan MIrko
    Sábado 26 de Enero de 2013

    Hola Cesar Felicidades por la tarea que realizas, quisiera que me ayudes con la zona horaria de Bolivia o no hay ya busque y no lo encuentro, gracias

  13. Emilio
    Miércoles 26 de Diciembre de 2012

    Genial. El sitio web funciona en Europa y el servidor lo tengo en Chile. Hasta ahora corregía las funciones de tiempo sumando o restando constantes equivalentes al tiempo de desfase, pero esto me lo simplifica todo un montón sin tener que recurrir a escribir el archivo php.ini del servidor. MUCHAS GRACIAS

  14. Luis
    Lunes 12 de Noviembre de 2012

    Muchas Gracias.. Funciono perfecto! date_default_timezone_set("America/Asuncion")

  15. Lore
    Martes 25 de Septiembre de 2012

    Muy bueno me funciono el codigo gracias man

  16. Arius
    Jueves 06 de Septiembre de 2012

    Buenisimos...a mi me funciono y es exactamente lo que estaba buscando ...mil gracias............

  17. Jesus
    Miércoles 04 de Julio de 2012

    Como hago para q me trabaje en Mozilla Firefox? Gracias.

  18. jose
    Lunes 02 de Julio de 2012

    mil gracia Maestro César. ya probe el script y funciona muy bién. antes solo me dejaba ver los registros diarios hasta las 11 pm.

  19. jose
    Jueves 14 de Junio de 2012

    buen dia para todos , perdon por mi ignorancia en que parte de la pagina se coloca este codigo.

  20. Fernando
    Martes 22 de Mayo de 2012

    Chuzo man eres lo maximo jejeje un saludos desde Panamá

  21. Anonimo
    Miércoles 25 de Abril de 2012

    Muchísimas gracias, me sirvió mucho..

  22. maria
    Viernes 02 de Marzo de 2012

    Simplemente gracias, ya no daba con la solución, intente en php.ini pero no modificaba nada no se por qué, no tengo hosting ni dominio aún será por eso?

  23. Francisco
    Miércoles 12 de Octubre de 2011

    Agrego otro dato: si accedemos al archivo .htaccess en el servidor, agregándole la línea: php_value date.timezone "Europe/Madrid" conseguimos establecer el uso horario que queramos. Añado también que si queremos insertar la fecha/hora a través de la función now() de MySQL en la base de datos, aunque le hayamos establecido el uso horario en el servidor tal como he comentado, sigue apareciendo la hora cambiada...

  24. luis - trabajo desde la casa
    Martes 04 de Octubre de 2011

    Gracias por el codigo, en verdad me estaba quebrando la cabeza buscando una solucion,pero con este codigo parece que se resuelve el problema de orario en mi hosting. Unicamente una pregunta que tengo, perdon soy novato en esto, en donde coloco este codigo, para que funcione, si me explican por favor

  25. Armen3003
    Lunes 27 de Junio de 2011

    excelente aporte

  26. Ronald
    Sábado 02 de Abril de 2011

    Felicidades por tu página, Quisiera que explicaras con un tutorial o un post como sacas de donde es cada usuario exactamente su pais por favor quisiera eso implementar en mi web, muchas Gracias

  27. nico
    Domingo 13 de Marzo de 2011

    Hola Cesar megustaria saber como hiciste este formulario con envio de clave para hacerlo mas claro, gracias, espero me contactes para los detalles y si hay algun costo o no se...

  28. nico
    Domingo 13 de Marzo de 2011

    gracias por el codigo yo lo adapte para mexico de la siguiente manera y si funciono
    date_default_timezone_set("America/Mexico_City"); $todayis=date ("l, F j, Y,H:i",time());
    O TAMBIEN
    echo "La hora en MEXICO es: " . date ("l, F j, Y,H:i",time());. "";
    GRACIAS POR LA APORTACION...

  29. Miguel González
    Jueves 10 de Marzo de 2011

    Ayudará bastantes a aquellos que tengan dudas con el horario, pero yo uso el siguiente: date_default_timezone_set("America/Santiago"); Si no me equivoco, es el correcto, el que tienes tu no sé si funcionará, no lo he probado. Saludos.

  30. Benja
    Lunes 28 de Febrero de 2011

    Cesar les dejo el link de PHP donde salen todas las zonas soportadas, separados por país y continente:
    http://php.net/manual/en/timezones.php
    Salu2!!!!

  31. jacinto
    Jueves 24 de Febrero de 2011

    Muchas gracias por este TIP Cesar, la verdad me andaba quebrando el coco de como poner la hora con la zona local de mi pais ya que mi hosting ponia el de USA.... GRACIAS! :D

  32. Oscar Vera
    Jueves 24 de Febrero de 2011

    Gracias César, muy útil.

  33. walter Jimenez
    Jueves 24 de Febrero de 2011

    Excelente aporte Cesar, muy necesario en muchisimos casos