我使用以下代码获取下个月的天数。它在11月30天时显示31。我该如何解决?
echo date('t',mktime(0,0,0,date("M",strtotime("+1 month")),1,date("Y")));
答案 0 :(得分:1)
http://php.net/manual/en/function.cal-days-in-month.php
这已经内置到PHP中,例如:
$date = new DateTime();
$date = $date->add( new DateInterval( 'P1M' ) );
echo $date->format( 'm' );
将于十月份给你11月11日。
答案 1 :(得分:1)
date("M",strtotime("+1 month"))
返回一个字符串(Nov
),但mktime期望所有参数都是整数。这意味着您将注入0而不是下个月,这将有效地为您提供1月份的天数
date("n",strtotime("+1 month"))
将返回月份编号
答案 2 :(得分:1)
你可以尝试:
$days = cal_days_in_month(strtotime("first day of next month"));