在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
,请更改F
为M
。所有可用格式选项的列表都可以在PHP手册文档中找到。
以上是 在PHP中将数字转换为月份名称 的全部内容, 来源链接: utcz.com/qa/408399.html