我試圖從一個月跳到一個月,從一個特定的時間戳開始,但是當我從8月跳到9月時總是跳過。起價(1346389200)8月31日1個月跳:strtotime跳月當給出開始日期
strtotime('+1 month', 1346389200);
產量1349067600 - 這是10月1日。 如果沒有開始日期來計算,我已經閱讀了所有關於strtotime出錯的信息,但是這個問題會是怎樣的呢? 謝謝
我試圖從一個月跳到一個月,從一個特定的時間戳開始,但是當我從8月跳到9月時總是跳過。起價(1346389200)8月31日1個月跳:strtotime跳月當給出開始日期
strtotime('+1 month', 1346389200);
產量1349067600 - 這是10月1日。 如果沒有開始日期來計算,我已經閱讀了所有關於strtotime出錯的信息,但是這個問題會是怎樣的呢? 謝謝
您可能不應該使用時間戳和strtotime
進行此比較。由於諸如夏令時,閏年等原因,您將引入問題。最好使用DateTime和DateInterval類/函數以更徹底的方式執行此操作。八月
+1提出DateTime和DateInterval類。 –
一個是9月31日,但是,因爲它不存在,PHP力的結果爲1十月。 所以,你應該強制在第1天(當然,如果你想只有年和月)當月:
strtotime('+1 month',strtotime(date("Y-m-1",1346389200)));
,但如果您使用PHP> 5.3,你可以使用更可靠DateTime
類和方法。
+1同意,這是預期的結果。 – Tchoupi
你想做什麼?獲得幾個月的第一天的日期?是31.Avg + 1月= 1.Oct有效? –
@glavić不,他指出31月8日+ 1月= 1月10日 –