我需要使用日期模式“yyyy-MM-dd”解析输入字符串中的日期,如果日期将以任何其他格式出现,则会引发错误。错误日期解析使用SimpleDateFormat,Java
这是我的一段代码,我解析日期:
private void validateDate() throws MyException {
Date parsedDate;
String DATE_FORMAT = "yyyy-MM-dd";
try{
parsedDate = new SimpleDateFormat(DATE_FORMAT).parse(getMyDate());
System.out.println(parsedDate);
} catch (ParseException e) {
throw new MyException(“Error occurred while processing date:” + getMyDate());
}
}
当我有字符串,如“2011-06-12”作为输入MyDate中我会得到输出“周四9月29日00:00 :00 EEST 2011“,这很好。
当我发送了一个不正确的字符串,如“2011-0612”,我得到了预期的错误。
问题开始,当我试图传递一个仍然有两个“连字符”,但数字数字错误的字符串。 例如:
输入字符串“2011-06-1211” 结果“2014年2月23日星期二00:00:00 EEST”。
输入字符串“2011-1106-12” 结果“Mon Feb 12 00:00:00 EET 2103”。
我无法更改字符串日期的输入格式。
我该如何避免它?
我不知道如何“2011年6月12日”作为myDate输入我会得到输出“Thu Sep 29 00:00:00 EEST 2011”是好的。您应该将6月12日作为输出 - 不是9月29日... –