7

我尝试用德语显示日期,但它不起作用。我将 PHP 与 XAMPP 一起使用。

这些是我的方法:

function get_Datetime_Now() {
setlocale (LC_TIME, "de_DE");
$tz_object = new DateTimeZone('Europe/Zurich');
$datetime = new DateTime();
$datetime->setTimezone($tz_object);     
return $datetime->format('l, d. F Y  ');
}

echo get_Datetime_Now();

它返回“星期日,2014 年 2 月 9 日”,但我不想返回“Sonntag,2014 年 2 月 9 日”(德语)。

我也试过这个:

setlocale(LC_TIME, "de_DE");
echo strftime("%A, %d. %B %Y");

它还返回“Sunday, 09. February 2014”。我在互联网上看到了很多例子,它们不起作用(至少在我的环境中)。

是否有我应该检查的设置?

我很感激任何帮助!

提前谢谢你,shivan

4

4 回答 4

9

您可能正在使用一台 Windows 机器,它的 PHP 语言代码与基于 Unix 的机器不同。

尝试:

setlocale(LC_TIME, 'de_DE', 'deu_deu');

这将首先尝试将其设置为'de_DE'(Linux/Unix) 并将'deu_deu'代码作为 windows 的后备 (PHP 版本 >= 4.3)。

德语 PHP 文档中的示例

于 2014-02-09T15:59:13.097 回答
2

您可以尝试:

setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8');
echo strftime("%A, %d. %B %Y");

为我工作

于 2014-02-09T16:04:12.020 回答
2

我只是评论感谢Tim Bodeit,如果有人想用西班牙语设置月份,这就是对我有用的代码:

setlocale(LC_TIME, 'es_ES', 'esp_esp');
于 2017-03-01T18:06:25.303 回答
0

语言环境参数是其他将 linux 与 windows 进行比较的参数

看这里:

Win下通常是“DEU”或“GERMAN”。

于 2014-06-26T08:20:05.023 回答