我有插入一個日期到表一些PHP代碼的隨機時間偏移:PHP time()函數返回一個小時
INSERT INTO tblEventLog VALUES ... date("Y-m-d H:i:s",time()) ...
這樣做的結果通常是正確的,但是偶爾日期是一個小時後面:
315070 05-Sep-10 18:08
315069 05-Sep-10 18:07
315068 05-Sep-10 18:07
315067 05-Sep-10 18:06
315066 05-Sep-10 18:06
315065 05-Sep-10 17:04
315064 05-Sep-10 18:01
什麼可能導致這種情況?只有一臺服務器。
編輯:
使用NOW()工作!
問題是,其中一個PHP頁面正在更改時區(創建RSS提要時),PHP time()函數正在提取它。使用數據庫來設置時間固定的東西。
如果你忽略'time()'而只是說'date(「Y-m-d H:i:s」)'? – BoltClock 2010-09-05 18:03:01
您的所有請求是否都來自同一時區? – fredley 2010-09-05 18:03:13
@fredley:時區由運行PHP的服務器決定,而不是由請求決定。在這種情況下,只有一個服務器,所以我的猜測只涉及一個時區。 – BoltClock 2010-09-05 18:06:07