我想正確的插入行到數據庫之前設置CURRENT_TIMESTAMP爲UTC。從我讀過的內容來看,這就是你如何通過連接來完成它。MySQL的每個連接的時區不填充CURRENT_TIMESTAMP正確
我的服務器的時區是EST(+5:00)。
我做了以下在調試時:
- SELECT CURRENT_TIMESTAMP;存儲這個人在調試時使用。
- SET TIME_ZONE ='-00:00';
- SELECT CURRENT_TIMESTAMP;存儲這個人在調試時使用。
- 截至目前,我希望我的數據庫連接的time_zone是UTC。
- 插入/更新記錄照常。
然後,我將兩個時間戳傳遞迴我的頁面,看看它們是什麼。
第一個被默認爲EST:[CURRENT_TIMESTAMP] => 2016-12-15 14:01:52
二是UTC通過查詢設置:[CURRENT_TIMESTAMP] => 2016-12-15 19:01:52
然而,在數據庫中記錄有2016年12月15日14:01的CURRENT_TIMESTAMP: 52(美國東部時間)。
不知道爲什麼!
我正在使用Sequel Pro查看我的數據庫。 似乎Sequel Pro會將時間戳轉換爲當地時間。
通過SQL該記錄返回所期望/預期:
2016-12-15 19:46:50
續集專業顯示:
2016-12-15 14:46:50
所以......這讓我心煩一點點我的選擇數據庫應用程序如何處理時區。如果有人認爲這不是真正的問題,所有的手段讓我知道:)
這是總的意義。但是,我發現這個問題似乎與我用來查看我的數據庫數據的應用程序(Sequel Pro)有關。該記錄按預期從SELECT語句返回,但在應用程序中顯示不同。 – Gurnzbot