2010-09-27 40 views
5

Convertiré toda la fecha & entrada de hora por usuario (hora local) a UTC y la almacenaré en la base de datos. Cuando vuelva a aparecer, convertiré la hora UTC en su zona horaria, que está configurada en su perfil. ¿Esta bien?Almacenar hora de fecha UTC en la base de datos

+5

Es muy bueno. –

+0

@Mark Ransom: ¿Por qué no publicar esto como una respuesta adecuada para que la pregunta se pueda cerrar? –

+0

@Ates, una respuesta adecuada necesitaría alguna justificación y advertencias que no estoy preparado para brindar. Simplemente no pude resistir la apertura que se me dio. –

Respuesta

3

Creo que es lo suficientemente bueno. Además de almacenar la zona horaria del usuario en el perfil, también puede permitir que el cliente (por ejemplo, javascript) convierta la hora UTC de acuerdo con la zona horaria de la computadora del usuario.

1

Siempre que pueda convertir a/desde cualquier zona horaria de sus registros DB almacenados, eso es todo lo que necesita.

Lo que has descrito funcionará.

1

Nota alguna MySQL documentation en lo que respecta a la zona horaria funcionamiento & servidor/cliente:

por conexión zonas horarias.
Cada cliente que se conecta tiene su propia configuración de zona horaria, dada por la sesión time_zone variable. Inicialmente, la variable de sesión toma su valor de la variable global time_zone, pero el cliente puede cambiar su propia zona horaria con esta instrucción:
mysql> SET time_zone = timezone;

Por lo tanto, normalmente, en la solución propuesta, todo está bien, pero no permita que el servidor real o el cambio de zona horaria del cliente lo atrapen.

Cuestiones relacionadas