經與的strtotime一些意外的行爲:php strtotime +2.5小時的錯誤?
$d = '2.5'; // i.e. hours
$t = '2014-03-20 08:30:00'; // mysql datetime
$ut = strtotime($t); // value: 1395297000
$s = $d * 60 * 60; // duration in seconds: 9000
$plusHrs = strtotime($t.' +'.$d.' hours'); // value: 1395315000
$plusSec = strtotime($t.' +'.$s.' seconds'); // value: 1395306000
預期的行爲將是$ plusHrs = $ plusSec。無論輸入什麼日期,這都會發生,這意味着它不是夏令時問題。
這是一個錯誤? (PHP v5.3.14)
嗯,這並不完全正確......把周圍的每一個線條的var_dumps,你就會明白我的意思。前3個陳述將增加5個小時,而不是7個小時。 – geoidesic
那麼,這是測試,它給我相同的4行。我將檢查PHP版本 –
@geoidesic是什麼增加了這一點。這不是'+7小時'(好吧,不是所有的時區)。這有點複雜。 –