2011-04-01 14 views
24

Mi servidor se ejecuta en MDTCambio de la zona horaria de conexión en MySQL

así que utilicé siguiente para convertir EST

SET time_zone = '-5:00' 

Pero, ¿cómo puedo cambiar a EDT porque

While `EST` is only valid in winter, while in summer how to change it to `EDT` 

Solo trato de utilizar la zona horaria con nombre. Pero me estoy siguiente error

#1298 - Unknown or incorrect time zone: 'America/Toronto' 

No entiendo cómo resolver este problema

¿Cómo puedo cambiar

UTC -05 a UTC-04

+0

vieja pregunta, lo sé, pero de que ha escrito 'Toronto' equivocado. – Mike

Respuesta

9

Dado que está utilizando Windows, tendrá que importar las tablas de descripción de la zona horaria a su servidor MySQL.

http://dev.mysql.com/downloads/timezones.html

+2

Esto no se limita a Windows, en Ubuntu también tuve que cargar la tabla de zona horaria como se describe aquí http://stackoverflow.com/questions/5510052/changing-the-connection-timezone-in-mysql/16946123 # 16946123 – Gerry

+3

Mi env (OS X, Mysql 5.6.13) me dio un error oscuro "ERROR 1406 (22001) en la línea 38916: datos demasiado largos para la columna 'Abreviatura' en la fila 1 ". Lo pirateé ejecutando 'mysql_tzinfo_to_sql/usr/share/zoneinfo | sed/zona horaria local debe estar configurada - ver página de manual zic/(ERROR)/'| mysql -uroot mysql' (Ver también http://bugs.mysql.com/bug.php?id=68861) – tuomassalo

1

¿Ha intentado utilizar un nombre de zoneinfo como "America/New_York" en lugar de la abreviatura (que solo es válida durante la mitad del tiempo)?

Idealmente, no debe utilizar la zona horaria del servidor en todo el curso - almacene las fechas en UTC y luego conviértalo a la zona horaria adecuada en el código del cliente.

+1

cómo almacenar fechas en Utc – Gowri

+0

intento que ** SET time_zone = 'America/New_York' ** pero no funciona, genera el error # 1298 - zona horaria desconocida o incorrecta: 'America/New_York' – Gowri

+0

@gowri : Sin saber nada sobre cómo está insertando datos en la base de datos (por ej.qué idioma/plataforma) es difícil saber qué sugerir en términos de almacenamiento en UTC. En cuanto a las zonas horarias válidas, creo que depende del sistema operativo; qué sistema operativo estás usando? –

56

Para Linux, BSD y Mac OS X si es necesario cargar la tabla de zona horaria hacer esto:

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -uroot mysql 
+1

Esto también fue lo que hice para solucionar el problema. La siguiente página describe este proceso: http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html – Gerry

1

para mí en de Windows usando WampServer:

Más información:

“ Para usar un paquete de zona horaria que contenga archivos .frm, .MYD y .MYI para las tablas de zona horaria MyISAM, descárguelo y descomprímalo. Estos archivos de tabla son parte de la base de datos mysql, por lo que debe colocar los archivos en el directorio mysqlsub del directorio de datos de su servidor MySQL. Detener el servidor antes de hacer esto y reiniciarlo después”

http://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html#time-zone-installation