PHP 已经具有内置函数来获取给定月份的最后一天的日期。在这种情况下,DateTime
和 strtotime
函数是最有用的,尽管众所周知并已写入文档了 strtotime
对于 2038 年之后的日期不能正确地工作或给出正确的结果。但是,strtotime
对于转换日期还是非常有用的。
这两个函数都使用 t
格式,根据官方手册,该格式返回给定日期的月份中的天数。请注意,获取月份中最后一天的关键是字母 t
,该字母返回给定月份中的天数。
PHP DateTime
获取月份的最后日期
这是用于获取未来和过去日期的给定月份的最后一天的最佳方法。在 format()
函数中传递的参数是-Y
,m
和 t
。这些常量是在 PHP 中定义的。
一年的完整数字表示形式,由字母 Y
表示 4 位数字,例如 2020
。月份的数字表示字母为 m
,它会自动填充零,从 01
到 12
。给定月份的天数由字母 t
表示。
如果使用的 PHP 版本在 5.3 之上,则这是最佳的方法。
$L = new DateTime( '2020-02-01' );
echo $L->format( 'Y-m-t' );
上面的代码为 DateTime
函数提供了一个日期,并使用格式字符 Y-m-t
来获取所提供日期中月份的最后一个日期。
PHP strtotime()
获取月份的最后日期
如果使用的 PHP 版本早于 5.2,则 strtotime()
函数是最佳选择。
$date = "2020-01-15";
echo date("Y-m-t", strtotime($date));