小编典典

解析DateFormat时的Java时区

java

我有解析日期的代码,如下所示:

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服务器上,究竟会在哪里更改此类设置,以便我们将来知道此类更改?


阅读 227

收藏
2020-09-28

共1个答案

小编典典

另一个应用程序正在使用ISO 8601 dateTime格式。我假设另一个应用程序向您发送的XML响应符合XML
Schema的dateTime类型(即ISO 8601)。现在,众所周知,DateFormat无法解析此格式。您要么必须使用其他库,例如joda-
time(joda-time是赢家),要么使用其他响应中指定的FastDateFormat。

2020-09-28