在PHP中将数字转换为月份名称

我有这个PHP代码:

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

$monthName = date("F", strtotime($monthNum));

echo $monthName;

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

$result["month"]等于8,因此sprintf函数要添加一个0使其08

回答:

如今,您应该真正将DateTime对象用于任何日期/时间数学计算。这要求您的PHP版本> =

5.2。如Glavić的答案所示,您可以使用以下命令:

$monthNum  = 3;

$dateObj = DateTime::createFromFormat('!m', $monthNum);

$monthName = $dateObj->format('F'); // March

!格式化字符用于重置一切的Unix纪元。该m格式字符是一月份的数字表示,用前导零。

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

$monthNum  = 3;

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

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

以上是 在PHP中将数字转换为月份名称 的全部内容, 来源链接: utcz.com/qa/408399.html

回到顶部