如何在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。
当前回答
如果你知道一个月的最后一天,
public function getLastDateOfMonth($month)
{
$date = date('Y').'-'.$month.'-01'; //make date of month
return date('t', strtotime($date));
}
$this->getLastDateOfMonth(01); //31
其他回答
使用Zend_Date非常简单:
$date->setDay($date->get(Zend_Date::MONTH_DAYS));
如果您使用的是32位系统,那么由于2038年问题,strtotime()代码将在2038年之后失败。
例如,在32位系统上,此代码将回显1970-01-31:
$a_date = "2040-11-23";
echo date("Y-m-t", strtotime($a_date));
如果你需要你的代码支持32位系统,那么你应该使用DateTime函数:
$d = new DateTime('2040-11-23');
echo $d->format('Y-m-t');
该代码将在32位或64位系统上正确地输出2040-11-30。
碳API扩展PHP DateTime
Carbon::parse("2009-11-23")->lastOfMonth()->day;
or
Carbon::createFromDate(2009, 11, 23)->lastOfMonth()->day;
将返回
30
你的解决方案在这里。
$lastday = date('t',strtotime('today'));
我在这里将它包装在我的日期时间助手类中 https://github.com/normandqq/Date-Time-Helper 使用 $dateLastDay = Model_DTHpr::getLastDayOfTheMonth();
完成了