如何从日期查找月份的最后一天?

我怎样才能在PHP中获得本月的最后一天?

鉴于:

$a_date = "2009-11-23"

我想要2009-11-30; 并给出

$a_date = "2009-12-23"

我想要2009-12-31。


t返回天在一个特定的日期(请参阅文档月份的数字date ):

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

使用strtotime()的代码将在2038年后失败。(如在此线程的第一个答案中给出的)例如,尝试使用以下内容:

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

它会给出答案:1970-01-31

所以应该使用DateTime函数而不是时间戳。 以下代码将在没有2038年问题的情况下运行:

$d = new DateTime( '2040-11-23' ); 
echo $d->format( 'Y-m-t' );

我知道这有点晚,但我认为使用DateTime类在PHP 5.3+中做到这一点更加优雅:

$date = new DateTime('now');
$date->modify('last day of this month');
echo $date->format('Y-m-d');
链接地址: http://www.djcxy.com/p/57289.html

上一篇: How to find the last day of the month from date?

下一篇: Real World Example of the Strategy Pattern