如何从日期开始查找该月的最后一天?

2022-08-30 05:51:45

如何以 PHP 格式获取当月的最后一天?

鉴于:

$a_date = "2009-11-23"

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

$a_date = "2009-12-23"

我想要 2009-12-31.


答案 1

t返回给定日期月份的天数(有关日期,请参阅文档):

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

答案 2

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

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

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

因此,应该使用DateTime函数而不是strtotime。以下代码将正常工作,而不会出现 2038 年的问题:

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

推荐