获取上个月的天数

时间:2014-06-24 22:00:53

标签: php date

我使用此代码获取上个月的天数,但如果当前月份是1月(01),那么它将使用00个月而不是12个月。

$prev_month_days = cal_days_in_month(CAL_GREGORIAN, date('m')-1, date('Y'));

搜索谷歌20分钟,找不到任何合理的简写解决方案。

请帮忙。感谢。

2 个答案:

答案 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 将有正确的天数...