Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php strotime';下个月';不按预期行事(即今天)_Php_Date - Fatal编程技术网

Php strotime';下个月';不按预期行事(即今天)

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

到目前为止,这只发生在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


编辑忘记提及,我希望使用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,而是预期的行为。有关更多信息,请参阅。