我在開發過程當中遇到這麼這個問題,由於趕進度,沒有記下來處理方案,在鳥哥的博客看到原理分析,很到位!平時開發中老是急着處理問題,沒有深刻分析和記錄問題。
今天是2018-07-31 執行代碼:date("Y-m-d",strtotime("-1 month"))
輸出是2018-06-01?html
var_dump(date("Y-m-d", strtotime("2017-06-31"))); //輸出2017-07-01
只要涉及到大小月的最後一天, 均可能會有這個問題code
var_dump(date("Y-m-d", strtotime("-1 month", strtotime("2017-03-31")))); //輸出2017-03-03 var_dump(date("Y-m-d", strtotime("+1 month", strtotime("2017-08-31")))); //輸出2017-10-01 var_dump(date("Y-m-d", strtotime("next month", strtotime("2017-01-31")))); //輸出2017-03-03 var_dump(date("Y-m-d", strtotime("last month", strtotime("2017-03-31")))); //輸出2017-03-03
PHP5.3以後的版本處理方式
」first day of」 和 「last day of」, 也就是你能夠限定好不要讓date自動」規範化」htm
var_dump(date("Y-m-d", strtotime("last day of -1 month", strtotime("2017-03-31")))); //輸出2017-02-28 var_dump(date("Y-m-d", strtotime("first day of +1 month", strtotime("2017-08-31")))); ////輸出2017-09-01 var_dump(date("Y-m-d", strtotime("first day of next month", strtotime("2017-01-31")))); ////輸出2017-02-01 var_dump(date("Y-m-d", strtotime("last day of last month", strtotime("2017-03-31")))); ////輸出2017-02-28