Ho bisogno di convertire un db esistente (datetime fields) dall'ora locale UTC UT.Mysql: Converti DB dall'ora locale a UTC
I valori vengono archiviati ad un orario datato su un server con fuso orario CET (+1) (con ora legale +2). Quando si selezionano i dati, utilizzo UNIX_TIMESTAMP()
, che risarcisce magicamente tutto, vale a dire lo spostamento del fuso orario e il dst (se ho letto bene i documenti).
Sto spostando il DB su un nuovo server con UTC come ora di sistema.
Semplicemente sottrarre -1 H non funziona, poiché l'ora legale è +2.
Qualche idea per un modo intelligente di farlo? (usando sql o qualche lang di script)
Ciao, so che è passato un po 'di tempo da quando hai risposto, ma per qualche ragione che l'istruzione select non funziona per me ... Ho controllato il documento e sono in grado di ottenere 'SELECT CONVERT_TZ (' 2004-01-01 12 : 00: 00 ',' + 00:00 ',' + 10:00 '); ', ma non quello che hai descritto sopra ... c'è qualcosa che mi manca? Continuo a ricevere nulla per questo. – KVISH
@kalvish, probabilmente è sufficiente compilare la tabella mysql.time_zone_name. Prova a eseguire questo comando nella shell per popolare quella tabella: 'mysql_tzinfo_to_sql/usr/share/zoneinfo | mysql -u root mysql' –
SELECT CONVERT_TZ ('2017-02-15 08:00:00', "UTC", "CST"); return null – wyx