尝试使用PHP显示当前时间(使用) :

$date = date('m/d/Y h:i:s a', time());                      
echo $date;

尽可能简单。我该如何本地化?我想将这几个月和几天翻译成希伯来语。

感谢。

有帮助吗?

解决方案

Zend_Date 完全国际化。你应该检查一下这个方法:

  

所有完整和缩写的名称   支持月份和工作日   超过130种语言。方法   支持输入和输出   使用本地化名称的日期   月份和工作日,在   与之相关的传统格式   每个地区。

其他提示

实际上,我认为在PHP 5.2中不太可能: - (

至少,不是与PHP 捆绑在一起的内容(你可以使用PHP编写的库,就像其他答案所指出的那样)

,点击 但是,使用PHP 5.3,您可以使用 IntlDateFormatter 类,它正是如此你想要的:

  

此课程代表ICU日期   格式化功能。它允许   用户在本地化中显示日期   格式化或将字符串解析为PHP   使用模式字符串的日期值   和/或罐头模式。

例如,使用该类,如下所示:

echo IntlDateFormatter::create('fr_FR', IntlDateFormatter::FULL, IntlDateFormatter::FULL)->format(time(time())) . "\n";
echo IntlDateFormatter::create('fr_FR', IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT)->format(time(time())) . "\n";

echo IntlDateFormatter::create('zh-Hant-TW', IntlDateFormatter::FULL, IntlDateFormatter::FULL)->format(time(time())) . "\n";
echo IntlDateFormatter::create('zh-Hant-TW', IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT)->format(time(time())) . "\n";

echo IntlDateFormatter::create('en_US', IntlDateFormatter::FULL, IntlDateFormatter::FULL)->format(time(time())) . "\n";
echo IntlDateFormatter::create('en_US', IntlDateFormatter::MEDIUM, IntlDateFormatter::SHORT)->format(time(time())) . "\n";

你会得到:

dimanche 9 novembre 2008 23:54:47 GMT+00:00
9 nov. 2008 23:54
2008年11月9日星期日 下午11時54分47秒 GMT+00:00
2008/11/9 下午 11:54
Sunday, November 9, 2008 11:54:47 PM GMT+00:00
Nov 9, 2008 11:54 PM

哪个看起来很不错,不是吗?

令人遗憾的是,PHP 5.3只有几个月的历史,并且在许多托管服务上都不可用......并且需要为您的应用程序进行测试(可能还有修复)......

,点击 考虑一下:也许你可以在PHP 5.2上安装 PECL intl扩展,然后获取同样的功能......

如果您需要一种比Zend_Date和IntlDateFormatter更简单的方法,请在php中尝试标准的 strftime 函数。这是我在Ubuntu上使用运行php 5.3的俄语运行并运行的东西(俄语语言环境未安装)。

安装区域设置

  1. cd / usr / share / locales
  2. sudo ./install-language_pack ru_RU
  3. sudo dpkg-reconfigure locales
  4. 重启Apache
  5. 接下来,使用以下php代码段:

    setlocale(LC_TIME, 'ru_RU.UTF-8');
    echo strftime('%A', time());
    

    应该输出今天的星期几。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top