0
我試圖插入一個時間戳到數據庫中,我需要時間戳在UTC時間,而不是服務器的時區。將unix時間轉換爲UTC datetime
INSERT INTO my_table SET time = FROM_UNIXTIME(:epochTime)
但新插入的datetime值不是UTC時間,我該怎麼做?
也許我也應該使用CONVERT_TZ,但我不知道我轉換的時區。
我試圖插入一個時間戳到數據庫中,我需要時間戳在UTC時間,而不是服務器的時區。將unix時間轉換爲UTC datetime
INSERT INTO my_table SET time = FROM_UNIXTIME(:epochTime)
但新插入的datetime值不是UTC時間,我該怎麼做?
也許我也應該使用CONVERT_TZ,但我不知道我轉換的時區。
是啊我想看看CONVERT_TZ:
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_convert-tz
從MySQL搶時區:
mysql> SELECT @@global.time_zone, @@session.time_zone;
編輯:下面的查詢返回當前會話的時區。
select timediff(now(),convert_tz(now(),@@session.time_zone,'+00:00'));
URL的一些信息:How do I get the current time zone of MySQL?
如果服務器有不同的時區,告訴我們您的操作系統或位置。
感謝 - 'CONVERT_TZ(from_unixtime(1395928430),@@ session.time_zone,'+00:00')' – Drahcir
'@@ session.time_zone'返回「SYSTEM」,但它仍然有效 – Drahcir
是的, SYSTEM是一個有效的時區,可以使用now()等進行轉換。我應該強調,很高興它的工作。 –