【问题标题】:php - can't get date in german languagephp - 无法获取德语日期
【发布时间】:2014-02-09 15:49:39
【问题描述】:

我尝试用德语显示日期,但它不起作用。我将 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();

它返回“Sunday, 09. February 2014”,但我不想返回“Sonntag, 09. Februar 2014”(德语)。

我也试过这个:

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

它还返回“2014 年 2 月 9 日,星期日”。我在互联网上看到了很多例子,但都不起作用(至少在我的环境中)。

是否有需要检查的设置?

感谢您的帮助!

提前谢谢, 希万

【问题讨论】:

  • 你有没有机会使用windows系统?
  • 如果使用 setlocale(LC_TIME, "de_DE.utf8");
  • XAMPP 仅适用于 Windows。

标签: php date setlocale


【解决方案1】:

您可能使用的 Windows 机器在 PHP 中的语言代码与基于 Unix 的机器不同。

试试:

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

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

Example in the german PHP documentation

【讨论】:

  • 嗯,将自己标记为 NooB。 ;) 实际上在php.ini 中没有办法?哇。 ;)
  • @dollarvar 我没有说没有办法在php.ini 中设置语言环境。我只是在抱怨,您只是在建议更改 php.ini 而没有实际指明应该进行哪些更改。
  • 是的,我先做了,但目标是日期和一些本地设置,(但它是timezone,-1 来自那里;)并发布了,但我找到了这篇文章:stackoverflow.com/questions/5075145/… 做了一个快速的谷歌并放弃了。 ;) (y)
  • 顺便说一句,你的答案是唯一正确的弹出窗口。! +1
  • 我尝试使用相同的问题代码并尝试使用最受好评的答案作为解决方案,但它返回英文值 itemslf 。这是怎么回事?
【解决方案2】:

你可以试试:

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

为我工作

【讨论】:

    【解决方案3】:

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

    setlocale(LC_TIME, 'es_ES', 'esp_esp');
    

    【讨论】:

      【解决方案4】:

      语言环境参数是其他比较 linux 和 windows

      看这里:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-25
        • 1970-01-01
        • 2017-07-11
        • 2015-06-24
        • 1970-01-01
        • 2017-12-14
        相关资源
        最近更新 更多