我要保存到數據庫中的一個給定的日期格式如下:MySQL的插入到日期時間不outputing正確的時間
date('Y-m-d H:i:s')
使用datetime數據類型,它輸出:
2012-10-29 00:18:14
要檢查它是否給正確的輸出,我給我的表添加一個時間戳,它返回插入/更新的當前日期和時間,它返回:
2012-10-29 07:18:14
我懷疑我的格式有問題。
我要保存到數據庫中的一個給定的日期格式如下:MySQL的插入到日期時間不outputing正確的時間
date('Y-m-d H:i:s')
使用datetime數據類型,它輸出:
2012-10-29 00:18:14
要檢查它是否給正確的輸出,我給我的表添加一個時間戳,它返回插入/更新的當前日期和時間,它返回:
2012-10-29 07:18:14
我懷疑我的格式有問題。
聽起來像是一個時區問題。
您可以使用date_default_timezone
或date.timezone
ini設置讓PHP使用與MySQL相同的時區。
你可以看到MySQL的時區有:
select @@session.time_zone;
非常感謝。幫助很大。順便說一句,當我粘貼**選擇@@ session.time_zone; **,它返回一個字**系統**,並沒有給我一個時區。 – Orvyl
你一定要使用此格式:date('Y-m-d H:i:s')
根據PHP手冊(http://php.net/manual/en/function.date.php) - 「H」用於24小時時間格式,「h」用於12小時格式,mysql將使用24小時時鐘。 MySQL標準格式爲「Y-m-d H:i:s」
但是,您在這裏遇到了時區。我敢打賭,你距離UTC有7小時。嘗試設置你的時區第一:
date_default_timezone_set('UTC');
或任何你想要的時區。
是的,這確實是時區問題。感謝你的迴應。我只是將此代碼http://philsturgeon.co.uk/blog/2009/12/CodeIgniter-on-PHP-5.3添加到網站的主索引中。 btw我目前正在使用代碼點火器。 – Orvyl
TIMESTAMP
存儲在UTC (GMT)
http://dev.mysql.com/doc/refman/5.5/en/datetime.html而DATETIME
不是,因此你的區別。
好吧,我明白了。謝謝你的迴應。^ _ ^ – Orvyl
附加:當我使用日期('Y-m-d h:i:s')格式時,輸出是2012-10-29 12:34:16。 im當前正在開發的站點只在localhost中。 – Orvyl