GsonBuilder setDateFormat for “2011-10-26T20:29:59-07:00”
我在 json 中得到了一个日期/时间,如 .这次使用的正确方法是什么来正确格式化?2011-10-26T20:29:59-07:00
gsonBuilder.setDateFormat
我在 json 中得到了一个日期/时间,如 .这次使用的正确方法是什么来正确格式化?2011-10-26T20:29:59-07:00
gsonBuilder.setDateFormat
是 ISO 8601 时区表示法。直到Java 7才支持这一点。因此,如果您可以升级到 Java 7,则可以使用 来表示该时区表示法:-07:00
SimpleDateFormat
X
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ssX").create();
在 Java 6 上,您需要先对 JSON 字符串进行一些模式匹配和替换,以用 RFC 822 表示法替换该部分,以便您可以使用:-07:00
-0700
Z
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").create();
或通过一般时区表示法,以便您可以使用:GMT-07:00
z
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ssz").create();
对于 Java 8(尚未针对 Java 7 进行验证),只需使用该模式
yyyy-MM-dd'T'HH:mm:ssXXX
要准确获取 的格式,2011-10-26T20:29:59-07:00
时区模式来自 Java 日期时间 - 自定义日期格式模式
Zone offset Example: X +09 XX +0930 XXX +09:30 XXX -05:00 XXXX +093045 XXXXX +08:30:45