透過月份滾動更正日期添加
您的代碼打算在日期中添加一天,但它似乎返回之前的日期添加。讓我們深入研究這個問題,並提供一個解決方案,可以正確地按天添加月數。
有問題的程式碼:
$stop_date = date('Y-m-d H:i:s', strtotime("2009-09-30 20:24:00")); echo 'date before day adding: '.$stop_date; $stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date)); echo ' date after adding one day. SHOULD be rolled over to the next month: '.$stop_date;
錯誤位於執行新增的行中:
$stop_date = date('Y-m-d H:i:s', strtotime('+1 day', $stop_date));
這一行使用 strtotime() 函數來操作日期。但是,當您指定“1 天”等時間偏移量時,它不會正確滾動月份。
解決方案
正確添加一天並滾動月份必要時,您可以使用以下方法之一:
PHP 5.3 :
$stop_date = '2009-09-30 20:24:00'; echo 'date before day adding: ' . $stop_date; $stop_date = date('Y-m-d H:i:s', strtotime($stop_date . ' +1 day')); echo 'date after adding 1 day: ' . $stop_date;
PHP 5.2 :
$stop_date = new DateTime('2009-09-30 20:24:00'); echo 'date before day adding: ' . $stop_date->format('Y-m-d H:i:s'); $stop_date->modify('+1 day'); echo 'date after adding 1 day: ' . $stop_date->format('Y-m-d H:i:s');
這些解決方案將正確地向指定日期添加一天,並根據需要滾動月份。
以上是為什麼在日期中增加一天不會延續到下個月?的詳細內容。更多資訊請關注PHP中文網其他相關文章!