免责声明:您可能需要安装 支持的字体/字体 日语,如果你看到搞砸了 字符。
我试图通过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日火曜日
我的第一次尝试似乎找不到工作常数来产生YEAR和Day符号。后者使用标准化格式,但我需要对其进行自定义,以便在月之前有0
,我希望能够更好地掌控。
将来我可能想让它变得灵活,例如,en_US日期不会在年/月/日之后出现这些字母,但它只适用于日语和其他语言,这些语言更常见,或者如果我误解了并且这种情况并不常见,请通知我。
提前致谢。
答案 0 :(得分:0)
似乎我需要的是DATE_LONG
常量,它在内部指向'FFFF' - 我正在尝试学习Date类如何与Locale类对应的内部工作方式来生成整个字符串,包括符号现在。
更新:我一直试图找到实际使用日期单位的地方而不是日期格式,找到了我需要的正确数据:
<dateFormatLength type="long">
<dateFormat>
<pattern>y年M月d日</pattern>
</dateFormat>
</dateFormatLength>
所以它解析了这个并替换y,M,d,返回格式化的日期。