PHP日期,国际月份名称?

时间:2012-05-07 17:49:03

标签: php

  

可能重复:
  strtotime With Different Languages?
  Get list of localized months

我从数据库中获取日期时间并将其格式化为:

$row['datetime'] = date('jS F Y',strtotime($row['datetime']));

这将采用以下格式:

28th March 2012

我如何本地化月份的名称,所以对于法国用户来说,它会显示火星而不是三月?

由于

2 个答案:

答案 0 :(得分:8)

使用setlocalestrftime获取日期字符串的本地化版本。

PHP文档示例 - http://php.net/manual/en/function.setlocale.php

/* Set locale to Dutch */
setlocale(LC_ALL, 'nl_NL');

/* Output: vrijdag 22 december 1978 */
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978));

/* try different possible locale names for german as of PHP 4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "Preferred locale for german on this system is '$loc_de'";

答案 1 :(得分:2)

轻松,利用strftime et setlocale

setlocale(LC_ALL, 'fr_FR.utf-8'); // ou LC_TIME
echo strftime('%A');
"lundi"

Fais注意一个实用者la版本utf-8 si tu参加un sortode unicode,sinon,la version normale te donnera du iso-8859-1(5)。

在社区其他人的英语中,strftime尊重语言环境集,并使用glibc(在后台)。如果date始终返回英语strftime,则会尊重setlocale,并以您的语言为您提供预期的输出。