试图字符串日期转换成日期
问题描述:
java.text.ParseException:无法解析的日期:“星期六05月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);
答
那将是因为你使用的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));
}
答
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
。
答
SimpleDateFormat是一个依赖于语言环境,因此通过提供一个你可以得到本地化的特定语言或国家的日期字符串
你试图解析日期看上去一点也不像你已经在自己的日期格式给我们看。事实上,我根本没有在你的问题中看到对'parse'的调用。那是相关的代码吗? – Paul 2011-12-19 22:12:56