在PHP 5.6.14這樣做:這是一個PHP日期錯誤?
$a = strtotime('2016-10-01');
$b = $a+29*24*3600;
$c = $a+30*24*3600;
die(date("d/m/Y",$b).' - '.date("d/m/Y",$c));
將返回30/10/2016 - 30/10/2016
,因爲我希望$c
真奇怪是31/10/2016
而不是30/10/2016
。它是一個PHP的錯誤?
說明:我知道有幾種方法可以執行日期操作,但我特別在此問。如果我將$a
月份更改爲10以外的其他數字(例如8,9,11,12),它會給我預期的結果。
總是檢查你的假設'var_dump($ a,$ b,$ c)'。你假設b和c有一定的價值,但你認爲是錯的。 – goat
這也是爲什麼'DateTime'是爲PHP添加日期的高級方法 – Machavity
我認爲這與夏令時有關 - 就好像你也用小時輸出一樣,你會得到'30/10/2016 00:00 - 30/10/2016 23:00',我們在10月30日(至少在我的國家)扣除一小時(因爲DST)。 – Qirel