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');

Output:

六月

instead of

朱尼

有什么建议吗?

  • 我没有ssh或其他shell访问权限.
  • 该脚本在Linux服务器上运行.

PHP 5.6版

推荐答案

This solution might help if you don't have shell access to the server.

If you have shell access, then 100 is the best!

因为我没有任何其他的可能性(Shell),所以我通过使用IntlDateFormatter class找到了一个只有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相关问答推荐

为什么这个方法调用用引号和花括号包裹?

try 修改这个PHP代码如果语句在WordPress""

Laravel 9如何过滤$的项目与结果?

输入手写CSV时在PHP中进行日期判断

WordPress:将自定义单选输入字段添加到用户配置文件

Laravel Livewire如何在数组值上使用IF、ELSE条件

如何使用MS Graph PHP SDK V2下载文件

在带有livewire 3的laravel中使用规则方法时,无法进行实时验证

限制联系人页面仅允许在WooCommerce中登录的用户

从WooCommerce管理订单汇总中隐藏原始小计行

HTTPPost请求在从php脚本调用时返回404,但在从node.js脚本调用时有效.终结点有效

在 WooCommerce 订阅续订订单中设置送货方式

使用 PHP,我可以将 foreach 语句放入瞬态中吗?

批量更新 WooCommerce 中所有产品的特定自定义字段

使用 wp_footer 挂钩添加一些 CSS 不起作用

如何将文件上传添加到 WooCommerce 结帐?

Laravel 发送邮箱问题 Swift_TransportException

为WooCommerce中的Guest用户保存唯一的客户代码到订单中

PHP 日期格式:ISO8601 与 ISO8601_EXPANDED

如何在供应商名称后将自定义徽章添加到商品详情