2010-03-24 12 views
7

Voy a crear un script que permite al usuario elegir su propia zona horaria ...husos horarios de los diferentes usuarios

Si he de hacer este trabajo, ¿Cómo almacenar fechas en la base de datos para que cada zona horaria se léelo y muestra la fecha correcta en su zona horaria?

¿Guardo la fecha como GMT y luego cuando un usuario con la zona horaria GMT +10 seleccionada ve el elemento dentro de mi script, muestro esa fecha en GMT +10 vez?

¿Hay una mejor manera de hacerlo?

ejemplos serían muy bien :)

Respuesta

4

Almacenamiento de las zonas horarias en UTC en la base de datos es sin duda el camino a seguir.

1

UTC es cómo lo hace

Obtener una fecha actual de su navegador (utilizan Javascript y enviar los navegadores actualizados al servidor) para averiguar qué zona horaria que se encuentran y configurarlo como un defecto

1

En MYSQL, los campos de Marca de hora siempre se guardan internamente en UTC, pero las consultas devolverán cadenas formateadas basadas en la zona horaria de su servidor de base de datos, por lo que su servidor de db probablemente deba configurarse en UTC para simplificar las cosas. Pase esas cosas directamente a un objeto DateTime, luego puede usar su función setTimezone() para que funcione en la zona horaria que desee.

También puede usar date_default_timezone_set() para establecer una zona horaria en php, que se utilizará para el resto de la secuencia de comandos.

+1

Ah, y "UTC" es el nuevo "GMT", solo por aclaración. – keithjgrant

Cuestiones relacionadas