我尝试用德语显示日期,但它不起作用。我正在使用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,09。2014年2月”(德语)。
我也试过这个:
setlocale(LC_TIME, "de_DE");
echo strftime("%A, %d. %B %Y");
它还会返回“2014年2月9日星期日”。我在互联网上看到了许多不起作用的例子(至少在我的环境中)。
我应该检查哪些设置?
我感谢任何帮助!
提前, 西瓦
答案 0 :(得分:9)
你可能正在使用一台Windows机器,它在PHP中的语言代码与基于Unix的语言代码不同。
尝试:
setlocale(LC_TIME, 'de_DE', 'deu_deu');
这将首先尝试将其设置为'de_DE'
(Linux / Unix)并将'deu_deu'
代码作为Windows的后备(PHP版本> = 4.3)。
答案 1 :(得分:2)
您可以尝试:
setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8');
echo strftime("%A, %d. %B %Y");
为我工作
答案 2 :(得分:2)
我只是评论感谢Tim Bodeit,如果有人想要用西班牙语设置月份,这就是对我有用的代码:
setlocale(LC_TIME, 'es_ES', 'esp_esp');
答案 3 :(得分:0)
locale参数是将linux与windows进行比较的其他参数
见这里:
通常在胜利下是“DEU”或“GERMAN”。