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