2012-04-08 85 views
2

請考慮這一點。在我的服務器,我轉換(UTC/GMT)TIMESTRING這樣的:轉換服務器上的時間戳在PHP和MySQL中給出了不同的結果

strtotime('Fri Feb 18 21:08:38 +0000 2011') 

我的服務器返回

1298063318 

這是正確的,因爲我測試了所有unixtimestampconverters,返回相同的。反之亦然,如果我插入的不是日期而是時間戳,我會返回上面給出的時間字符串。 ,如果將我的服務器上的時間戳:

date("Y-m-d H:i:s", 1298063318); 

我得到一個不同的日期比預期(即 '週五02月18日21時08分38秒+0000 2011'):

2011-02-18 22:08:38 

因此它關閉了一個小時。這可能是因爲我的服務器時區設置在歐洲/巴黎,因此它將時間戳轉換爲UTC/GTM + 1.但是,MySQL運行在同一臺服務器上並具有相同的時區,這給我帶來了另一個結果:

SELECT FROM_UNIXTIME(1298063318) = 2011-02-18 22:08:15 

換句話說,它是關閉18秒。有人可以解釋爲什麼嗎?

回答

相關問題