Potrzebuję konwertować istniejącą (pola datetime) db z czasu lokalnego ut UTC.Mysql: Konwertuj DB z czasu lokalnego na UTC
Wartości są przechowywane w postaci dat reklamowych na serwerze ze strefą czasową CET (+1) (z latem +2). Podczas wybierania danych używam UNIX_TIMESTAMP()
, który w magiczny sposób kompensuje wszystko, tj. Przesunięcie strefy czasowej i dst (jeśli przeczytałem dokumentację w prawo).
Przenoszę db do nowego serwera z UTC jako czas systemowy.
Po prostu odjęcie -1 H nie zadziała, ponieważ czas letni wynosi +2.
Wszelkie pomysły na sprytny sposób to zrobić? (używając sql lub jakiegoś skryptu języka)
Witam, wiem, że minęło trochę czasu, odkąd odpowiedziałeś, ale z jakiegoś powodu ta instrukcja nie działa dla mnie ... Sprawdziłem dokument i mogę uzyskać "SELECT CONVERT_TZ" ("2004-01-01 12 : 00: 00 ',' + 00:00 ',' + 10:00 '); ', ale nie to, co opisałeś powyżej ... jest coś, czego mi brakuje? Wciąż za to otrzymuję zero. – KVISH
@kalvish, prawdopodobnie wystarczy wypełnić tabelę mysql.time_zone_name. Spróbuj uruchomić to polecenie w powłoce, aby wypełnić tę tabelę: '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