首頁 > 後端開發 > php教程 > 為什麼在日期中增加一天不會延續到下個月?

為什麼在日期中增加一天不會延續到下個月?

Linda Hamilton
發布: 2024-11-29 11:35:13
原創
434 人瀏覽過

Why Does Adding a Day to a Date Not Roll Over to the Next Month?

透過月份滾動更正日期添加

您的代碼打算在日期中添加一天,但它似乎返回之前的日期添加。讓我們深入研究這個問題,並提供一個解決方案,可以正確地按天添加月數。

有問題的程式碼:

$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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板