2017-08-15 54 views
0

我有一個DateTime對象包含例如該datetime "2017-08-14 18:06:40"mysql數據庫和server/mysql默認時區是美國,所以當我插入一個datetime它會在美國時區。MySQL的日期時間與不同的時區

我的問題是,當一個用戶從我們說歐洲選擇那個日期時間,它會因時間差異而不同嗎?

我該如何解決這個問題。我要在歐洲用戶相對日期時間得到他們的時區

我從搜索這個

CONVERT_TZ(`comment_date`,@@global.time_zone,@@session.time_zone) AS comment_date, 

後來我發現,你需要設置@@session.time_zone它不是自動檢測

那麼,如何才能找到我們解決這個問題,網站或apps用於統一datetime跨國家的選項和技術有哪些?

回答

0

如果您希望它代表即時時刻,而不考慮保存時區的時區,則應將數據類型更改爲timestamp而不是datetimeTimestamp始終保存爲UTC,而datetime表示本地日期和時間,並且不包含任何區域信息。

有關更多信息,請參見該問題:Should I use field 'datetime' or 'timestamp'?

參見Mysql reference manual regarding datetime

+0

將可以使用DateTime對象只是不插入值,設置默認值,以當前時間戳,,並設置MySQL來UTC時間,然後將客戶端的日期解析爲默認時區 – iMyth

相關問題