Php strotime';下个月';不按预期行事(即今天)
到目前为止,这只发生在31号Php strotime';下个月';不按预期行事(即今天),php,date,Php,Date,到目前为止,这只发生在31号 echo date('F',strtotime('this month')); //May echo date('F',strtotime('next month'));//July echo date('F',strtotime('+1 month'));//July 据我所知,六月在五月之后。但我猜php是在偷懒,从现在起只增加了31天,跳过了整整一个月 不管时间长短,我怎样才能安全地度过下个月?理想情况下使用strttotime 编辑忘记提及,我希望使用st
echo date('F',strtotime('this month')); //May
echo date('F',strtotime('next month'));//July
echo date('F',strtotime('+1 month'));//July
据我所知,六月在五月之后。但我猜php是在偷懒,从现在起只增加了31天,跳过了整整一个月
不管时间长短,我怎样才能安全地度过下个月?理想情况下使用strttotime
编辑忘记提及,我希望使用strotime的原因是我使用搜索框查找解释用户输入strotime的事件最可靠的方法可能是:
date('F', mktime(0, 0, 0, date('n') + 1, 1))
您还可以使用:
echo date('Y-m-d', strtotime("first day of -1 month"));
这是因为PHP处理日期时出现了日期溢出。它只是增加了一个月。没有6月31日,所以它通过增加一天来解决它,然后把它放到7月。尝试将其转换为每月的第一个月,然后递增该月
这是一个bug,但由于它的方式和存在的时间,它被标记为wontfix 在strotime文档的注释中提到:也可能重复,请确保您将注释阅读至。应该强调的是,这不是一个bug,而是预期的行为。有关更多信息,请参阅。