2010-01-06 84 views
0

免責聲明:您可能需要安裝 字體/字體支持 日本,如果你看到搞砸 字符。國際化日期用Zend_Date(日本)格式化

我試圖複製我一直在用遠和setlocalestrftime這樣做:

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

似乎我需要的是DATE_LONG常量,它內部指向'FFFF' - 我試圖瞭解Date類如何與Locale類對應以生成包括符號的整個字符串的內部工作。

更新:我一直試圖找到它實際使用日期單位,而不是日期格式,找到了正確的數據,我需要:

   <dateFormatLength type="long"> 
        <dateFormat> 
         <pattern>y年M月d日</pattern> 
        </dateFormat> 
       </dateFormatLength> 

因此,分析這一點,並取代了Y,M,d,退貨格式化的日期。