PHP - strtotime() - 一个月的第一天问题
PHP - strtotime()- First Day of month problem
我有这个代码
$begin_date_2021_2022='01-09-2021';
for ($i=0; $i <5 ; $i++) {
$begin_date_2021_2022=date('d/m/Y',strtotime('+1 month', strtotime($begin_date_2021_2022))) ;
echo $begin_date_2021_2022."<br>";
}
输出:
01/10/2021<br>
10/02/2021<br>
02/11/2021<br>
11/03/2021<br>
03/12/2021<br>
我的期望是
01/10/2021<br>
01/11/2021<br>
01/12/2021<br>
01/01/2022<br>
01/02/2022<br>
问题出在哪里?
当您在格式中使用 / 时,它采用美式日期。因此,您需要将破折号放入格式中才能正确添加。如果你想用/输出它,你可以按照我下面的方式来做。
$begin_date_2021_2022='01-09-2021';
for ($i=0; $i <5 ; $i++) {
$begin_date_2021_2022=date('d-m-Y', strtotime('+1 month',strtotime($begin_date_2021_2022))) ;
echo date('d/m/Y',strtotime($begin_date_2021_2022))."<br>";
}
我有这个代码
$begin_date_2021_2022='01-09-2021';
for ($i=0; $i <5 ; $i++) {
$begin_date_2021_2022=date('d/m/Y',strtotime('+1 month', strtotime($begin_date_2021_2022))) ;
echo $begin_date_2021_2022."<br>";
}
输出:
01/10/2021<br>
10/02/2021<br>
02/11/2021<br>
11/03/2021<br>
03/12/2021<br>
我的期望是
01/10/2021<br>
01/11/2021<br>
01/12/2021<br>
01/01/2022<br>
01/02/2022<br>
问题出在哪里?
当您在格式中使用 / 时,它采用美式日期。因此,您需要将破折号放入格式中才能正确添加。如果你想用/输出它,你可以按照我下面的方式来做。
$begin_date_2021_2022='01-09-2021';
for ($i=0; $i <5 ; $i++) {
$begin_date_2021_2022=date('d-m-Y', strtotime('+1 month',strtotime($begin_date_2021_2022))) ;
echo date('d/m/Y',strtotime($begin_date_2021_2022))."<br>";
}