首页 > 解决方案 > php date() 返回特定月份的错误月份

问题描述

我非常困惑为什么使用以下代码在某些日期 date() 是错误的。下面列出的月份与以数字形式显示错误月份的代码示例相同。

echo $month= 2019 年 9 月

$month_explode = explode(' ', $month);

$month_explode[0]= 九月

$month_explode[1]= 2019

echo date("m", strtotime($month_explode[0]));= 10 这将是 10 月

接下来的几个月不工作...

难道我做错了什么?

标签: php

解决方案


当我正在审查我的问题时,它突然袭击了我。我发布这个,也许这会帮助其他人处理同样的问题。

如果您只是在 strtotime 中使用月份,它将自动以数字形式附加当前的“月中日”和“年”。因为今天是 31 日,所以它会尝试计算不存在的 9 月 31 日。所以它会自动跳到下个月。列出的所有月份都相同。如果我将代码更改为以下,一切正常,因为每个月都有一个“1st”。

echo date("m", strtotime("first day of {$month_explode[0]}"));

推荐阅读