如何解决在 PHP 中将数字转换为月份名称?

如今,您真的应该将 DateTime 对象用于任何日期/时间数学。这要求您的 PHP 版本 >=
5.2。如Glavi膰的答案所示,您可以使用以下内容

$monthNum  = 3;
$dateObj   = DateTime::createFromFormat('!m', $monthNum);
$monthName = $dateObj->format('F'); // march

!格式化字符用于将所有内容重置为Unixepoch。格式字符是月份的m数字表示,带有前导零。

如果您使用的是较旧的 PHP
版本并且目前无法升级,您可以使用此解决方案。函数的第二个参数date()接受一个时间戳,您可以使用它mktime()来创建一个,如下所示:

$monthNum  = 3;
$monthName = date('F', mktime(0, 0, 0, $monthNum, 10)); // march

如果您想要 3 个字母的月份名称Mar,请更改FM. 可以在PHP
手册文档
中找到所有可用格式选项的列表。

解决方法

我有这个 PHP 代码:

$monthNum = sprintf("%02s",$result["month"]);
$monthName = date("F",strtotime($monthNum));

echo $monthName;

但它正在返回December而不是August.

$result["month"]等于 8,所以sprintf函数是添加 a0来制作它08


[db:链接]