7

可能重复:
strtotime 使用不同的语言?
获取本地化月份列表

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

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

这将采用以下格式:

28th March 2012

我怎样才能本地化月份的名称,所以对于法国用户来说,它会显示 Mars 而不是 March?

谢谢

4

2 回答 2

8

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

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'";
于 2012-05-07T17:52:45.203 回答
1

简单,利用strftimesetlocale

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

请注意使用 la version utf-8 si tu 参加 une sortie unicode, sinon, la version normale te donnera du iso-8859-1(5)。

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

于 2012-05-07T17:51:49.493 回答