我正在尝试将许多字符串日期解析为日期,其中一些带有时间部分,另一些则没有,采用“dd/MM/yyyy HH:mm”格式。
public static Date StringToDate (String format, String theDate) {
SimpleDateFormat df = new SimpleDateFormat(format);
Date retDate = null;
try {
df.setLenient(true);
retDate = df.parse(theDate);
}
catch (ParseException e) {
e.printStackTrace();
}
return (retDate);
}
(此处,格式始终为“dd/MM/yyyy HH:mm”)。
但这会导致异常,即使 setLenient 强制为 true。你知道我如何将许多格式如“dd/MM/yyyy HH:mm:ss”的字符串转换为日期,但有些人没有时间,有些人没有秒数,还有一个人有一切?
最佳答案
如果你知道有些字符串有时间,有些没有,并且没有其他情况,我只会检查字符串的长度。但是,如果您有多种不同的格式可用,我会按某种有意义的顺序尝试每种格式,直到您获得有效的日期。
关于Java : Impossible to parse "23/10/1973" with "dd/MM/yyyy HH:mm" format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135471/