【问题标题】:PHP day of week numeric to day of week text not EnglishPHP 星期几数字到星期几文本不是英文
【发布时间】:2012-12-21 10:18:15
【问题描述】:

我尝试在 Windows 上使用setlocale() 函数将日期名称转换为其他语言,但没有成功。

<?php setlocale(LC_ALL, 'nl_NL'); 
echo date("l", strtotime($variable); ?>

有没有人可以替代setlocale()?我使用 Codeigniter 框架。

【问题讨论】:

  • setlocale 有什么问题?
  • Unicode setlocale and strftime fails at windows 的可能重复项 - 您没有分享这两个原因中的哪一个是您的实际问题:错误的语言环境名称使用date 或 两者。请分享对您的问题有什么帮助。

标签: php codeigniter date setlocale


【解决方案1】:

您应该考虑使用具有IntlDateFormatter 的扩展名intl

来自documentation

$fmt = new IntlDateFormatter( "en_US" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "First Formatted output is ".$fmt->format(0);
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL,IntlDateFormatter::FULL,'America/Los_Angeles',IntlDateFormatter::GREGORIAN  );
echo "Second Formatted output is ".$fmt->format(0);

哪个输出

First Formatted output is Wednesday, December 31, 1969 4:00:00 PM PT
Second Formatted output is Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00

【讨论】:

【解决方案2】:

nl_NL 是典型的 Unix 风格的语言环境名称。在 Windows 上,语言环境遵循 different format。你想要"nld", "holland", or "netherlands"

此外,date() 不支持区域设置。你可能想要strftime()

【讨论】:

    【解决方案3】:

    date 不根据区域设置格式化日期。 strftime 会。

    【讨论】:

      【解决方案4】:
      setlocale(LC_ALL, 'german');
      echo (iconv('ISO-8859-2', 'UTF-8', strftime('%Y. %B %d. (%A)', mktime('0', '0', '0', '6', '18', '2010'))));
      
      setlocale(LC_ALL, 'hungarian');
      echo (iconv('ISO-8859-2', 'UTF-8', strftime('%Y. %B %d. (%A)', mktime('0', '0', '0', '6', '18', '2010'))));
      

      【讨论】:

      • 您能解释一下iconv 的用途吗?
      【解决方案5】:

      您可以使用strftime 作为本地日期:

      setlocale(LC_TIME, 'it_IT');
      $timestamp = strtotime("31-12-2012");
      echo strftime("%A", $timestamp);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-31
        • 2016-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-13
        • 2022-08-10
        • 1970-01-01
        相关资源
        最近更新 更多