我有以下日期:18/07/2013
。我希望它以2013年7月18日的格式輸出,其中July
應該換成當月的俄文名稱。所以這裏是我做的:
1)使時間戳不在字符串18/07/2013
。
2)設置俄語語言環境setlocale(LC_ALL, 'ru_RU.utf-8');
3)格式化時間使用strftime("%d %B %Y", date)
;
然而,它輸出18 July 2013
而不用July
與本月的俄文名稱。怎麼了?php - 我如何在俄羅斯語區域輸出日期
0
A
回答
1
我在西班牙語中取得同樣結果的做法是定義兩個數組,其中英文名稱爲$模式,西班牙語使用等價名稱替換$,並調用preg_replace函數將它們作爲第一個和第二個參數傳遞,格式化結果日期作爲第三個參數。
這是我建的功能:
function MonthToSpanish($str, $three = false)
{
$months = array(
'/January/', '/February/', '/March/',
'/April/', '/May/', '/June/', '/July/',
'/August/', '/September/', '/October/', '/November/', '/December/',
'/Jan/', '/Apr/', '/Aug/', '/Dec/',
);
$meses = array(
'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio',
'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre',
'Ene', 'Abr', 'Ago', 'Dic',
);
$res = preg_replace($months, $meses, $str);
if ($three) {
$res = str_replace('Mayo', 'May', $res);
}
return $res;
}
希望你會發現它有點有用。
0
如果國際擴展安裝,你可以使用MessageFormatter做你的格式和語法可能不同
例子:http://php.budgegeria.de/zrffntr-sbeznggre
PHP文件:http://www.php.net/manual/en/class.messageformatter.php
如果您不需要整個句子也可以使用IntlDateFormatter:http://www.php.net/manual/en/intldateformatter.format.php
相關問題
- 1. JavaScript Date.Parse在俄羅斯日期爆炸
- 2. NSURL和俄羅斯域名
- 3. 俄羅斯時區變化
- 4. 俄羅斯輸入字數
- 5. PHP和俄羅斯信件
- 6. 俄羅斯在Python 2.7版
- 7. 解析月在俄羅斯
- 8. 如何開發俄羅斯網頁
- 9. 俄羅斯方塊腦java
- 10. 俄羅斯酒店數據庫(俄語信息)
- 11. IdeaVim和俄羅斯佈局
- 12. 蝦+俄羅斯字體
- 13. Haskell IO俄羅斯符號
- 14. ImageView與俄羅斯網址
- 15. 使得俄羅斯方塊
- 16. 俄羅斯方塊輪換
- 17. Carrierwave俄羅斯文件名
- 18. 在俄羅斯獲取天名稱
- 19. PHP導出excel unicode(俄羅斯字符)問題
- 20. 俄羅斯波特在JavaScript中干擾
- 21. PayPal在俄羅斯盧布的交易
- 22. 俄羅斯娃娃在鐵軌緩存
- 23. 在NSString中找到俄羅斯字符
- 24. file_get_contents給俄羅斯內容垃圾
- 25. 字符編碼俄羅斯語,土耳其語
- 26. 如何獲得俄羅斯的字符串在C++中
- 27. java俄羅斯方塊:如何使俄羅斯方塊片移動爲4個不同的瓷磚
- 28. 如何在PHP中指定時區輸出日期(「Y」)正確
- 29. Spring MVC,響應AJAX,俄羅斯符號
- 30. 俄羅斯方塊移動2D陣列
可能的重複https://stackoverflow.com/questions/10486658/php-date-international-month-names – reikyoushin
se tlocale():返回新的當前語言環境,__或FALSE如果語言環境功能未在您的平臺上實現,指定的語言環境不存在或類別名稱無效......您是否正在測試setlocale()的返回值? –
@MarkBaker,你是對的,它返回FALSE。如何測試區域設置是否未安裝或類別名稱是否無效? –