我定義的格式類似以下內容:的SimpleDateFormat - 轉換成其他語言環境
sdf = new SimpleDateFormat("MMMM dd\nEEEE, YYYY", Locale.getDefault())
現在,我得到了一些設備例外像這樣的:
java.lang.IllegalArgumentException: Unknown pattern character 'Y'
所以,問題是,在Y
不在本地設備中支持。所以我要的格式更改爲以下幾點:
// the string format is formatted in english, so we pass in Locale.ENGLISH
new SimpleDateFormat("MMMM dd\nEEEE, YYYY", Locale.ENGLISH)
問題
我怎麼現在可以使用這個SimpleDateFormat
打印在地區語言的日期?我想EEEE
是德文,英文,西班牙文或其他。所以我需要使用英文格式字符串,然後用本地語言打印格式化的字符串。我怎樣才能做到這一點?
例
SimpleDateFormat sdf = new SimpleDateFormat("MMMM dd\nEEEE, YYYY", Locale.getDefault());
Date d = new Date();
String formatted = sdf.format(d);
預計
DE: Juli 2017\nMittwoch, 2017
EN: July 2017\nWednesday, 2017
想法
創建與當前本地像new SimpleDateFormat("MMMM dd\nEEEE, YYYY", Locale.getDefault());
一個SimpleDateFormat
,但現在我不能確定我傳遞到構造函數的字符串是有效的當前語言環境...(如異常顯示,Y
無效在各個地區)
你的輸入日期是怎樣的?要小心* Y *是週年* y *是年份 – Jens
像'new Date()'或類似的...這是問題嗎? – prom85
添加一個[mcve]到你的問題 – Jens