PHP setlocale无效

setlocale()功能未设置所需的语言(德语)。


目标是输出月份名称。

这是我到目前为止的测试代码:

<?php

date_default_timezone_set('Europe/Berlin');

setlocale(LC_ALL, 'de_DE.utf8');

// Or

setlocale(LC_ALL, 'de_DE@euro');

// Or

setlocale(LC_ALL, 'de_DE');

// Or

setlocale(LC_ALL, 'de');

// Or

setlocale(LC_ALL, 'ge');

echo strftime('%B');

输出:

六月

代替

朱尼

有什么建议么?

  • 我没有SSH或其他Shell访问权限。
  • 该脚本在Linux服务器上运行。

PHP 5.6版

回答:

由于我没有其他可能性(外壳),因此我使用IntlDateFormatter类找到了仅使用PHP的解决方案。

<?php

// Example vars

$month = '6';

$year = '2014';

$fmt = new IntlDateFormatter('de_DE',

IntlDateFormatter::FULL,

IntlDateFormatter::FULL,

'Europe/Berlin',

IntlDateFormatter::GREGORIAN);

$lastMonth = mktime(0, 0, 0, $month -1, 1, $year);

$showLastMonth = $fmt->format($lastMonth);

echo $showLastMonth;

以上是 PHP setlocale无效 的全部内容, 来源链接: utcz.com/qa/404392.html

回到顶部