我使用此代码获取上个月的天数,但如果当前月份是1月(01),那么它将使用00个月而不是12个月。
$prev_month_days = cal_days_in_month(CAL_GREGORIAN, date('m')-1, date('Y'));
搜索谷歌20分钟,找不到任何合理的简写解决方案。
请帮忙。感谢。
答案 0 :(得分:1)
<?php
echo date("t", mktime(0,0,0, date("n") - 1));
?>
答案 1 :(得分:0)
丹提供的例子不正确。
您必须检查 date("n") 的结果并更正一月返回
如果这是时间函数的一部分,这似乎合乎逻辑,因为您正在寻找一个月中的前几天。您还必须补偿回溯的年份。否则,您将拍摄到当年的 12 月。
效果更好的是..
$NowYear = date("Y");
$NowMonth = date("n");
if ($NowMonth == 1) {
$ThenMonth = 12;
$ThenYear = $NowYear - 1;
}
else {
$ThenMonth = $NowMonth - 1;
$ThenYear = $NowYear;
}
$ThenNumberOfDays = date("t", mktime(0, 0, 0, $ThenMonth, 1, $ThenYear));
$ThenNumberOfDays 将有正确的天数...