1
我需要解析一個字符串日期在Java中。當使用完整的日期模式有問題的情況是,它依賴於一個特定的區域(我不知道以前)解析一個字符串日期沒有區域設置
例如,使用模式「EEEE MMMM DD YYYY」兩種可能的輸入是:
英語=「10日星期五2014年11月」
西班牙語=「Viernes 10 Noviembre 2014」
是否有可能上面輸入轉換爲Date對象,而不知道源語言環境?
謝謝。
我需要解析一個字符串日期在Java中。當使用完整的日期模式有問題的情況是,它依賴於一個特定的區域(我不知道以前)解析一個字符串日期沒有區域設置
例如,使用模式「EEEE MMMM DD YYYY」兩種可能的輸入是:
英語=「10日星期五2014年11月」
西班牙語=「Viernes 10 Noviembre 2014」
是否有可能上面輸入轉換爲Date對象,而不知道源語言環境?
謝謝。
我嘗試MadProgrammer解決方案,它的工作原理:
String dateInString = "Friday 10 November 2014";
//String dateInString = "Viernes 10 Noviembre 2014";
Locale localeList[] = DateFormat.getAvailableLocales();
Date date = null;
for (Locale l : localeList) {
try {
SimpleDateFormat formatter = new SimpleDateFormat("EEEE dd MMMM yyyy", l);
date = formatter.parse(dateInString);
System.out.println("Trying with locale: " + l.toString());
break;
} catch (ParseException e) {
}
}
感謝
我不認爲這是可能的'單獨SimpleDateFormat'。 – Drux 2014-11-23 21:10:16
你需要爲每個'Locale'提供一個'SimpleDateFormat',你可能會遇到,然後你需要簡單地循環它們直到一個工作... – MadProgrammer 2014-11-23 21:33:45
可能的重複[如何使用多種格式解析日期的SimpleDateFormat](http://stackoverflow.com/questions/4024544/how-to-parse-dates-in-multiple-formats-using-simpledateformat) – 2014-11-24 00:06:11