如何解决在 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
,请更改F
为M
. 可以在PHP
手册文档中找到所有可用格式选项的列表。
解决方法
我有这个 PHP 代码:
$monthNum = sprintf("%02s",$result["month"]);
$monthName = date("F",strtotime($monthNum));
echo $monthName;
但它正在返回December
而不是August
.
$result["month"]
等于 8,所以sprintf
函数是添加 a0
来制作它08
。
[db:链接]
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。