尝试使用 PHP 显示当前时间(使用this):
$date = date('m/d/Y h:i:s a', time());
echo $date;
尽可能简单。如何本地化?我想将月份和日期翻译成希伯来语。
谢谢。
Zend_Date
完全国际化。您应该检查一下以找到一种简单的方法:
130 多种语言支持所有月份和工作日的完整名称和缩写名称。方法支持使用本地化的月份和工作日名称输入和输出日期,采用与每个语言环境相关的传统格式。
实际上,我认为 PHP 5.2 不太可能 :-(
至少,不是与 PHP 捆绑的/在 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 更简单的方法,请尝试使用strftime
php 中的标准函数。这是我为在 Ubuntu 上使用运行 php 5.3 的俄语启动并运行它所做的工作(未安装俄罗斯语言环境)。
安装语言环境
cd /usr/share/locales
sudo ./install-language_pack ru_RU
sudo dpkg-reconfigure locales
接下来,使用以下 php 代码段:
setlocale(LC_TIME, 'ru_RU.UTF-8');
echo strftime('%A', time());
应该输出星期几。