Las diferencias entre el manejo de la zona horaria de fecha

9

Hay varias opciones para el manejo de la zona horaria, la zona horaria del sitio, la hora de la fecha, la zona horaria del usuario, UTC y no hay conversión de zona horaria. Cuáles son las diferencias entre ellos?

Un caso sería una transmisión de televisión donde todos en el mundo experimentarían simultáneamente. ¿Sería correcto utilizar la zona horaria del usuario? Si la emisora ​​marcara las 8:00 pm mientras vivía en Nueva York, alguien en California experimentaría esto a las 5:00 pm.

O, el caso, está ocurriendo un golpe de poesía en la ciudad de Nueva York y cualquiera que quiera experimentarlo tendrá que estar físicamente allí a las 8:00 p.m., lo que significa que podría estar sucediendo a las 5:00 p.m. en California, pero eso no importa persona en California Lo que importa es que están en el lugar a las 8:00 p.m. en Nueva York, por lo que la hora no debería cambiar sin importar dónde esté el usuario o a qué hora en su zona horaria está ocurriendo el golpe de poesía.

Adam S
fuente

Respuestas:

13

La página de documentación del módulo Fecha describe la diferencia entre las 5 opciones bastante bien.

De esa página:

Hay 5 opciones diferentes para el manejo de zona horaria de campo:

  1. Zona horaria del sitio : al ingresar datos en el campo, se supone que los datos ingresados ​​se encuentran en la zona horaria del sitio. Cuando los datos se guardan en la base de datos, se convierten a UTC. Cuando se recuperan de la base de datos, los datos se convierten a la zona horaria del sitio para usuarios anónimos o a la zona horaria del usuario para usuarios registrados cuando las zonas horarias configurables por el usuario están habilitadas.
  2. Zona horaria de la fecha : con esta opción habilitada, el campo de fecha agrega un cuadro de selección para especificar explícitamente la zona horaria de la fecha ingresada. Cuando la fecha se guarda en la base de datos, no se convierte y la información de zona horaria se guarda con la fecha. Cuando se recupera de la base de datos, no se realiza ninguna conversión y la fecha se muestra exactamente como se ingresó.
  3. Zona horaria del usuario : al ingresar datos en el campo, se supone que los datos ingresados ​​se encuentran en la zona horaria del usuario. Cuando los datos se guardan en la base de datos, se convierten a UTC. Cuando se recuperan de la base de datos, los datos se convierten a la zona horaria del sitio para usuarios anónimos o a la zona horaria del usuario para usuarios registrados cuando las zonas horarias configurables por el usuario están habilitadas.
  4. UTC : al ingresar datos en el campo, se supone que los datos ingresados ​​se encuentran en la zona horaria UTC. Cuando los datos se guardan en la base de datos, se convierten a UTC (por ejemplo, no es necesaria la conversión). Cuando se recuperan de la base de datos, los datos se convierten a la zona horaria del sitio para usuarios anónimos o a la zona horaria del usuario para usuarios registrados cuando las zonas horarias configurables por el usuario están habilitadas.
  5. Sin conversión de zona horaria : la fecha ingresada no se convierte cuando se guarda en la base de datos. Cuando se recupera de la base de datos, los datos NO se convierten y se muestran exactamente como se ingresaron.
jhedstrom
fuente