我正在考虑使用IntlDateFormatter
该类来国际化应用程序中的日期和时间,但手册并不清楚该怎么做。
假设我在应用程序中有以下日期、时间和日期时间格式:
2013-07-01 晚上 10:00
7 月 1 日晚上 10:00
7 月 1 日
下午10:00
我想对其进行本地化,以便它们在另一个语言环境中显示如下:
2013-07-01 22h00
Juillet 1 至 22h00
朱丽叶 1
22h00
我该怎么做呢?我是否创建了八个不同的IntlDateFormatter
对象来处理这个问题,因为这看起来不是很直观?
$fmt['en-CA']['dt_long'] = new IntlDateFormatter("en_CA", null, null, null, IntlDateFormatter::GREGORIAN, 'Y-M-dd h:mm a');
$fmt['fr-CA']['dt_long2'] = new IntlDateFormatter("fr_CA", null, null, null, IntlDateFormatter::GREGORIAN, 'Y-M-dd H:mm');
$fmt['en-CA']['dt_short'] = new IntlDateFormatter("en_CA", null, null, null, IntlDateFormatter::GREGORIAN, 'MMM d @ h:mm a');
$fmt['fr-CA']['dt_short2'] = new IntlDateFormatter("fr_CA", null, null, null, IntlDateFormatter::GREGORIAN, 'MMM d 'à' H'h'mm');
...
我认为我做错了,因为带有类常量的第二个和第三个参数应该是有原因的,对吧?
例子和解释会很棒。