如何在PHP中获得每月的最后一天?
考虑到:
$a_date = "2009-11-23"
我想要2009-11-30;鉴于
$a_date = "2009-12-23"
我要2009-12-31。
如何在PHP中获得每月的最后一天?
考虑到:
$a_date = "2009-11-23"
我想要2009-11-30;鉴于
$a_date = "2009-12-23"
我要2009-12-31。
当前回答
你可以为下个月的第一天创建一个日期,然后使用strtotime("-1 day", $firstOfNextMonth)
其他回答
我知道这有点晚了,但我认为有一种更优雅的方式来使用PHP 5.3+使用DateTime类:
$date = new DateTime('now');
$date->modify('last day of this month');
echo $date->format('Y-m-d');
这应该可以工作:
$week_start = strtotime('last Sunday', time());
$week_end = strtotime('next Sunday', time());
$month_start = strtotime('first day of this month', time());
$month_end = strtotime('last day of this month', time());
$year_start = strtotime('first day of January', time());
$year_end = strtotime('last day of December', time());
echo date('D, M jS Y', $week_start).'<br/>';
echo date('D, M jS Y', $week_end).'<br/>';
echo date('D, M jS Y', $month_start).'<br/>';
echo date('D, M jS Y', $month_end).'<br/>';
echo date('D, M jS Y', $year_start).'<br/>';
echo date('D, M jS Y', $year_end).'<br/>';
你的解决方案在这里。
$lastday = date('t',strtotime('today'));
如果你想回到几个月前,你也可以这样做。
$list = [
0, 1, 2, 3
];
$date = new \Datetime();
$dates = [];
foreach($list as $item)
{
$set = clone $date;
$set->modify("-$item month ");
$dates[] = $set->modify("last day of this month");
}
return $dates;
$date1 = $year.'-'.$month;
$d = date_create_from_format('Y-m',$date1);
$last_day = date_format($d, 't');