有没有办法使用单个日期格式字符串来解析两种类型的日期?

时间:2013-08-01 20:08:39

标签: java parsing date format

我正在使用Java 1.6。有没有办法编写可以解析两者的日期格式模式

2013-08-01

2013-08-01T00:00:00.000Z

?我试过以下

yyyy-MM-dd'T'HH:mm:ss.SSS'Z'

但它只与第二个匹配,并在第一个上以ParseException终止。我的解析代码是:

final DateFormat defaultDateFormatObj = new SimpleDateFormat(classDateFormat);
final java.util.Date startDate = defaultDateFormatObj.parse(myDateString);

谢谢, - 戴夫

2 个答案:

答案 0 :(得分:2)

似乎无法在一个DateFormatter中解析不同的格式

但是,您可以为每个定义一个DateFormat,并检查是否存在“T”字符或日期源的长度,以决定使用哪个格式化程序。

我会留下try / catch来处理真正无法解析的日期

答案 1 :(得分:1)

总之,我不相信。我建议使用带有两种不同日期格式的try / catch(catch块中的第二种)。

这个问题的答案应该有所帮助:

How to parse dates in multiple formats using SimpleDateFormat

相关问题