我创建了此功能来解析日期,但是却产生了异常(exception):无法解析的日期:“星期五IST 2014年10月10日23:11:07”(偏移量为20)。请帮忙,因为我无法弄清楚这段代码有什么问题。
public Date parseDate() {
String strDate ="Fri Oct 10 23:11:29 IST 2014";
String newPattern = "EEE MMM dd HH:mm:ss Z yyyy";
SimpleDateFormat formatter = new SimpleDateFormat(newPattern);
try {
Date date = formatter.parse(strDate);
return date;
} catch (java.text.ParseException e) {
e.printStackTrace();
}
return null;
}
最佳答案
对分析器使用语言环境:
SimpleDateFormat formatter = new SimpleDateFormat(newPattern, Locale.US);
这应该可以解决您的问题。至少对于您的示例,它对我有用。
编辑:
看来Android和IST时区确实存在问题。我可以使用上述模式解析Android上的任何时区,但不能解析IST。
如果字符串中存在IST时区,则可以快速修改时区部分。
这对我也适用于Android:
String strDate = "Fri Oct 10 23:11:29 IST 2014";
strDate = strDate.replace(" IST ", " GMT+0530 ");
String newPattern = "EEE MMM dd HH:mm:ss Z yyyy";
SimpleDateFormat formatter = new SimpleDateFormat(newPattern, Locale.ENGLISH);
关于java - 不可解析的日期: "Fri Oct 10 23:11:07 IST 2014" (at offset 20),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27375489/