$dateTime="2011-10-12 00:00:00";
echo $newDateTime =date("Y-m-d H:i:s", strtotime($dateTime.' -1 hours 30 minutes'));
的上面的代碼的結果是'2011-10-11二十三時30分00秒'。但是,正確答案應該是 2011-10-11 22:30:00。錯誤上的strtotime()
代碼中是否存在任何錯誤,任何人都可以幫助我?
非常感謝
$dateTime="2011-10-12 00:00:00";
echo $newDateTime =date("Y-m-d H:i:s", strtotime($dateTime.' -1 hours 30 minutes'));
的上面的代碼的結果是'2011-10-11二十三時30分00秒'。但是,正確答案應該是 2011-10-11 22:30:00。錯誤上的strtotime()
代碼中是否存在任何錯誤,任何人都可以幫助我?
非常感謝
23:30
是預期的結果(一旦您知道發生了什麼)。
字符串(-1 hours 30 minutes
)的相對部件分別處理如-1 hours
和30 minutes
。它們是Relative Formats文檔中描述的number space? (unit | 'week')
格式的兩個實例。
正因爲如此,時間累積相對變化只有-30 minutes
,從午夜開始到23:30
。
獲得您想要的效果,無論是:
-90 minutes
)-1 hours -30 minutes
ago
格式as 1 hours 30 minutes ago
有關更多詳細信息,請參見http://php.net/datetime.formats.relative。
有趣的是,我從來沒有意識到這一點 – 2012-01-10 16:05:50
您正在初始化$ dateTime,然後在您的strtotime表達式中使用$ dateTime2。 – liquorvicar 2012-01-10 10:00:47
@liquorvicar,這是錯字錯誤 – Acubi 2012-01-10 10:03:48