1
我正在處理向第三方產品許可服務器發送請求的應用程序,等待響應,然後幾秒鐘後向我的服務器發送請求。稍後,我會根據創建日期和時間比較這兩個記錄。當我看時間時,它們看起來大致相隔6小時(大概是由於時區差異)。但是,當我通過PHP的strtotime()函數運行每個函數時,結果僅相差幾秒鐘。下面是一個例子:PHP-strtotime()如何工作?
echo strtotime("2013-04-29T14:55:47.707Z");
echo '<br>';
echo strtotime("2013-04-29 08:56:10");
顯示爲:
1367247347
1367247370
其僅23秒,而不是6小時差異。
如果我沒有提供有關每個日期字符串的時區的任何信息,它們是如何靠近在一起的?
(請記住,我很樂意爲這些結果是正確的,我只是不知道我是怎麼讓他們)
從'的strtotime的數字() '[Unix時間戳](http://en.wikipedia.org/wiki/Unix_time)。第一次字符串在UTC時區(用Z表示「Zulu」)。第二次字符串沒有指定時區,因此使用當前爲PHP配置的內容,它與UTC的偏移量爲-6小時。 – salathe
我唯一能想到的就是'.707Z'必須翻譯成某種類型的時區信息。 – Pitchinnate
您將默認時區設置爲UTC,以便它們在同一時區內進行計算。如果你想要不同的行爲,請參閱[這裏](http://php.net/manual/en/function.date-default-timezone-set.php) – Orangepill