我正在使用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);
谢谢, - 戴夫
答案 0 :(得分:2)
似乎无法在一个DateFormatter中解析不同的格式
但是,您可以为每个定义一个DateFormat,并检查是否存在“T”字符或日期源的长度,以决定使用哪个格式化程序。
我会留下try / catch来处理真正无法解析的日期
答案 1 :(得分:1)
总之,我不相信。我建议使用带有两种不同日期格式的try / catch(catch块中的第二种)。
这个问题的答案应该有所帮助:
How to parse dates in multiple formats using SimpleDateFormat