0

我正在使用 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);

谢谢, - 戴夫

4

2 回答 2

2

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

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

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

于 2013-08-01T20:16:58.030 回答
1

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

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

如何使用 SimpleDateFormat 解析多种格式的日期

于 2013-08-01T20:13:44.447 回答