我有以下PHP代码:
$monthNum = sprintf("%02s", $result["month"]);
$monthName = date("F", strtotime($monthNum));
echo $monthName;
但它返回的是December
而不是August
。
$result["month"]
等于8,因此sprintf
函数会添加一个0
,使其成为08
。
发布于 2013-08-27 22:12:37
因为每个人都在使用strtotime()和date()函数,所以我将展示DateTime示例:
$dt = DateTime::createFromFormat('!m', $result['month']);
echo $dt->format('F');
发布于 2014-01-13 16:24:20
使用mktime()
<?php
$monthNum = 5;
$monthName = date("F", mktime(0, 0, 0, $monthNum, 10));
echo $monthName; // Output: May
?>
请参阅PHP手册:http://php.net/mktime
发布于 2014-08-28 09:24:16
要执行与当前语言环境相关的转换,可以使用strftime
函数:
setlocale(LC_TIME, 'fr_FR.UTF-8');
$monthName = strftime('%B', mktime(0, 0, 0, $monthNumber));
strftime
不遵守本地语言环境,date
则不遵守。
https://stackoverflow.com/questions/18467669
复制相似问题