Thi*_*oti 4 php date strtotime
我正在尝试制作一个带有多个标签的ajax日历,用于之前输入的日期范围.但是例如:
我想要下个月,它打印行军而不是2月
$start= "2013-01-31";
$current = date('n', strtotime("+1 month",$start)) //prints 3
Run Code Online (Sandbox Code Playgroud)
我认为这是因为2014年2月是28并且从开始月份开始增加+31基数,但为什么呢?
您正试图在该日期添加一个月2013-01-31
.它应该给2013年2月31日,但由于日期不存在,它将进入下一个有效月份(即3月).
您可以使用以下解决方法:
$current = date('n', strtotime("first day of next month",strtotime($start)));
Run Code Online (Sandbox Code Playgroud)
使用DateTime
课程:
$date = new DateTime('2013-01-31');
$date->modify('first day of next month');
echo $date->format('n');
Run Code Online (Sandbox Code Playgroud)
这将正确输出2
.
归档时间: |
|
查看次数: |
1935 次 |
最近记录: |