如何在PHP中获取本月的最后一天?
鉴于:
$a_date = "2009-11-23"
我想要2009-11-30; 给定
$a_date = "2009-12-23"
我想2009-12-31。
#1楼
你的解决方案在这里..
$lastday = date('t',strtotime('today'));
#2楼
这应该工作:
$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/>';
#3楼
t
返回给定日期的月份天数(请参阅date
文档 ):
$a_date = "2009-11-23";
echo date("Y-m-t", strtotime($a_date));
#4楼
您可以为下个月的第一天创建日期,然后使用strtotime("-1 day", $firstOfNextMonth)
#5楼
您可以在日期函数中使用“ t
”来获取特定月份中的天数。
代码将是这样的:
function lastDateOfMonth($Month, $Year=-1) {
if ($Year < 0) $Year = 0+date("Y");
$aMonth = mktime(0, 0, 0, $Month, 1, $Year);
$NumOfDay = 0+date("t", $aMonth);
$LastDayOfMonth = mktime(0, 0, 0, $Month, $NumOfDay, $Year);
return $LastDayOfMonth;
}
for($Month = 1; $Month <= 12; $Month++)
echo date("Y-n-j", lastDateOfMonth($Month))."\n";
代码是自我解释的。 所以希望它有所帮助。
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3179449