java.text.ParseException:Unparseable date:“Sat May 01 00:00:00 EDT 2010”
我试图使用SimpleDateFormat类解析这个日期。
java.util.Date prevStartDate = new Date();
java.util.Date prevStopDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
prevStartDate = dateFormat.format(startDateLY);
答案 0 :(得分:3)
那是因为您使用的格式为yyyy-MM-dd
- 您必须将输入中的每个参数添加到该格式。
您的格式似乎是E MMM dd HH:mm:ss z yyyy
所以你需要从一个转换为另一个:
static DateFormat extended = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
static DateFormat simple = new SimpleDateFormat("yyyy-MM-dd");
String reformat(String extendedString) {
Date yourDate = extended.parse(extendedString);
String simpleString = simple.format(yourDate);
return simpleString;
}
或者,
String reformat(String dateString) {
return simple.format(extended.parse(dateString));
}
答案 1 :(得分:1)
DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss z yyyy");
Date date = (Date)formatter.parse("Sat May 01 00:00:00 EDT 2010");
String string = new String(date.getYear() + "-" + date.getMonth() + "-" + date.getDay());
应该比yyyy-MM-dd
更好地工作。
答案 2 :(得分:1)
SimpleDateFormat是依赖于语言环境的,因此通过提供一个,您可以获取针对特定语言或国家/地区的日期字符串