Puede MySQL convertir una hora UTC almacenado a timezon locales: tiempo ed directamente en una instrucción de selección normal?¿Puede MySQL convertir una hora UTC almacenada a la zona horaria local?
Digamos que usted tiene algunos datos con una marca de tiempo (UTC).
CREATE TABLE `SomeDateTable` (
`id` int(11) NOT NULL auto_increment,
`value` float NOT NULL default '0',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`)
)
Luego, cuando me
"select value, date from SomeDateTable";
que, por supuesto, conseguir todas las fechas como en su forma UTC almacenado.
Pero digamos que me gustaría tenerlos en otra zona horaria (con horario de verano), ¿Puedo agregar algo de magia a la consulta de selección para que obtenga todas las fechas en la zona horaria seleccionada?
"select value, TIMEZONE(date, "Europe/Berlin") from SomeDateTable";
O debo hacer esto de alguna otra capa en la parte superior, como en algún código php? (parece ser que la mayoría de las personas han resuelto este problema).
Gracias Johan
Si la instalación de MySQL le permite utilizar CONVERT_TZ se trata de una solución muy limpia, este ejemplo muestra cómo usarlo.
SELECT CONVERT_TZ('2010-01-01 12:00', 'UTC', 'Europe/Stockholm')
Sin embargo no sé si esto es una buena manera, ya que algunos de instalación de MySQL no se encuentra esta función, utilizar con cuidado.
parece ser el Lo correcto, pero llegué a este error directamente: http://bugs.mysql.com/bug.php?id=12445 mi servidor de datos de zona horaria faltaba ... – Johan
mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql -u root mysql – Johan