-
一只斗牛犬
使用strtotime()的代码在2038年后将失败。例如,如在这个线程中的第一个答案中所给出的那样,尝试使用以下方法:$a_date = "2040-11-23";echo date("Y-m-t", strtotime($a_date));答覆如下:1970-01-31因此,不应该使用strtotime,而应该使用datetime函数。以下代码将运行正常,不会出现2038年的问题:$d = new DateTime( '2040-11-23' ); echo $d->format( 'Y-m-t' );
-
弑天下
我知道这有点晚了,但我认为有一种更优雅的方法PHP 5.3+通过使用日期时间班级:$date = new DateTime('now');$date->modify('last day of this month');echo $date->format('Y-m-d');
-
白衣非少年
t返回给定日期月份中的天数(请参见为date):$a_date = "2009-11-23";echo date("Y-m-t", strtotime($a_date));