2009-09-18 16 views

Respuesta

10

Se encuentra en la zona horaria actual. Desde el 5.1 docs:

Devuelve la fecha y la hora actual como un valor en 'AAAA-MM-DD HH: MM: SS' o formato YYYYMMDDHHMMSS.uuuuuu, dependiendo de si la función se utiliza en una cadena o contexto numérico. El valor se expresa en la zona horaria actual .

Ahora "la zona horaria actual" puede significar cosas diferentes:

  • El sistema de zona horaria
  • una zona horaria especificada para el servidor MySQL en general
  • una zona horaria específica de la conexión

Más detalles están en 5.1 time zone documentation.

(5.4 Los documentos tienen el mismo aspecto de estos bits. Obviamente consultar la documentación para la versión que se está ejecutando para la mejor información posible.)

22

por the docs, las reglas son complicadas, pero en su mayoría se reducen a "zona horaria de la sesión actual" (que por defecto es huso horario del sistema):

La zona actual configuración de tiempo de la sesión afecta a la visualización y almacenamiento de tiempo valores que son sensibles a la zona. Este incluye los valores mostrados por funciones como NOW() o CURTIME(), y los valores almacenados y recuperados de las columnas TIMESTAMP. Los valores para columnas TIMESTAMP se convierten de a la zona horaria actual en UTC para almacenamiento, y de UTC a la zona horaria actual para su recuperación.

Por supuesto puede usar UTC_TIMESTAMP() si necesita UTC específicamente.

+6

+1 por mencionar la función UTC_TIMESTAMP(). –

0

Por lo que yo sé, se devuelve el reloj del sistema. Verifique la zona horaria de su sistema. Si conecta MySQL localmente (como desde PHP) las zonas horarias no importarán para MySQL, prefiero manejarlas en PHP.

+0

¿Podría explicar sobre el material PHP nuevamente? Si busco una columna de marca de tiempo usando PHP, ¿en qué zona horaria está? Zona horaria PHP predeterminada? – Sohaib