【发布时间】:2016-03-08 08:57:16
【问题描述】:
我正在尝试将这两个字符串转换为日期,但出现异常无法解析的日期。
“2015-12-03T15:00:08.868987”和“2015-12-03T17:00:08Z”。尝试了这两种格式 “yyyy-MM-dd'T'HH:mm:ss.SSSXXX”和“yyyy-MM-dd'T'HH:mm:ss.SSSZ”
String s = "2015-12-03T17:00:08Z";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
try
{
Date date = simpleDateFormat.parse(s);
System.out.println("date : "+simpleDateFormat.format(date));
}
catch (ParseException ex)
{
System.out.println("Exception "+ex);
}
【问题讨论】:
-
您正在尝试使用需要毫秒和 RFC 822 时区的格式来解析没有毫秒和 ISO-8601 时区的日期。请参考Documentation。
-
有点题外话,但您可能想看看 Joda-Time,它消除了许多与核心 Java 日期/时间类相关的挫败感
-
@BasilBourque 谢谢。我认为它已经改变然后说服自己否则#longDay