我有解析日期的代码,如下所示:
String ALT_DATE_TIME_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"; SimpleDateFormat sdf = new SimpleDateFormat( ALT_DATE_TIME_FORMAT); Date date = sdf.parse(requiredTimeStamp);
一切正常,突然,这停止了。原来,管理员在服务器上进行了一些配置更改,并且当前返回的日期为“ 2010-12-27T10:50:44.000-08:00”,上述模式无法解析该日期。我有两个问题:
第一种是哪种模式将解析上述格式的JVM返回的日期(特别是时区为“ -08:00”)?其次,在Linux RHEL 5服务器上,究竟会在哪里更改此类设置,以便我们将来知道此类更改?
另一个应用程序正在使用ISO 8601 dateTime格式。我假设另一个应用程序向您发送的XML响应符合XML Schema的dateTime类型(即ISO 8601)。现在,众所周知,DateFormat无法解析此格式。您要么必须使用其他库,例如joda- time(joda-time是赢家),要么使用其他响应中指定的FastDateFormat。