如何在PHP中获得每月的最后一天?

考虑到:

$a_date = "2009-11-23"

我想要2009-11-30;鉴于

$a_date = "2009-12-23"

我要2009-12-31。


当前回答

你可以为下个月的第一天创建一个日期,然后使用strtotime("-1 day", $firstOfNextMonth)

其他回答

T返回给定日期当月的天数(date参见文档):

$a_date = "2009-11-23";
echo date("Y-m-t", strtotime($a_date));

这是一个更优雅的表达月底的方式:

  $thedate = Date('m/d/Y'); 
  $lastDayOfMOnth = date('d', mktime(0,0,0, date('m', strtotime($thedate))+1, 0, date('Y', strtotime($thedate)))); 

你的解决方案在这里。

$lastday = date('t',strtotime('today'));

这是一个完整的函数:

public function get_number_of_days_in_month($month, $year) {
    // Using first day of the month, it doesn't really matter
    $date = $year."-".$month."-1";
    return date("t", strtotime($date));
}

这将输出如下:

echo get_number_of_days_in_month(2,2014);

输出:28

你可以为下个月的第一天创建一个日期,然后使用strtotime("-1 day", $firstOfNextMonth)