使用 Zend_Date 进行国际化日期格式化(日语)
免责声明:您可能需要安装 支持的字体/字体 如果你看到乱七八糟的日语 字符。
我正在尝试复制迄今为止使用 setlocale
和 strftime
所做的事情:
setlocale(LC_ALL, 'ja_JP.utf8');
$time = mktime();
echo strftime('%x', $time), '<br>';
输出:
2010年01月06日
使用 Zend_Date - 但我无法重现相同的格式带有表示年、月、日的日文符号。
尝试#1:
$locale = new Zend_Locale('ja_JP');
$date = new Zend_Date( strtotime('yesterday'), null, $locale);
//echo $date->toString('YYYY abcdefghijklmnopqrstuvwxy M dE');
echo $date->get('YYYY MMM DD');
输出:
2010 1月 004
尝试#2:
echo $date->get(Zend_Date::DATE_FULL);
输出:
2010年1月5日火曜日
我的第一次尝试我似乎找不到一个工作常量来生成年和日符号。后者使用标准化格式,但我需要对其进行自定义,以便月份前面有一个 0
,并且我希望能够更好地控制。
将来我可能想让它变得灵活,例如,en_US 日期不会在年/月/日之后出现这些字母,但它只适用于日语和其他更常见的语言,或者如果我误解了,这并不常见,请告诉我。
提前致谢。
Disclaimer: you might need to install
a font/typeface which supports
Japanese if you see messed up
characters.
I'm trying to replicate what I've been doing so far with setlocale
and strftime
:
setlocale(LC_ALL, 'ja_JP.utf8');
$time = mktime();
echo strftime('%x', $time), '<br>';
Output:
2010年01月06日
Using Zend_Date - but I haven't been able to reproduce the same formatting with the japanese symbols for year, month and day.
Attempt #1:
$locale = new Zend_Locale('ja_JP');
$date = new Zend_Date( strtotime('yesterday'), null, $locale);
//echo $date->toString('YYYY abcdefghijklmnopqrstuvwxy M dE');
echo $date->get('YYYY MMM DD');
Output:
2010 1月 004
Attempt #2:
echo $date->get(Zend_Date::DATE_FULL);
Output:
2010年1月5日火曜日
My first attempt I can't seem to find a working constant to produce the YEAR and day symbols. The latter uses a standardized format but I need to customize it so there's a 0
preceding the month, and I want to be more in control.
In the future I may want to make it flexible so for example, en_US dates won't have those letters coming after the year/month/day but it would only apply to languages such as Japanese and others, where it's more common, or if I misunderstood and it isn't really common then please inform me.
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
似乎我需要的是
DATE_LONG
常量,它在内部指向“FFFF” - 我正在尝试了解 Date 类如何与 Locale 类对应以生成整个字符串(包括现在的符号。更新:我一直试图找到它实际使用日期单位而不是日期格式的位置,找到我需要的正确数据:
因此它解析此数据并替换 y、M、d,返回格式化日期。
Seems what I needed was the
DATE_LONG
constant, which internally points to 'FFFF' - I'm trying to learn the inner workings of how the Date class corresponds with the Locale class to generate the whole string including the symbols now.Update: I kept trying to find where it actually used date units instead of date formats, found the right data I need:
So it parses this and replaces the y, M, d, returns the formatted date.