yyyy-MM-dd’T’HH:mm:ss.SSSZZ和yyyy-MM-dd’T’HH:mm:ss.SSSXXX之间的区别?想知道它们是表示不同的格式还是本质上相同
【阿里云】yyyy-MM-dd'T'HH:mm:ss.SSSZZ和yyyy-MM-dd'T'HH:mm:ss.
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
yyyy-MM-dd’T’HH:mm:ss.SSSZZ和yyyy-MM-dd’T’HH:mm:ss.SSSXXX之间的区别?想知道它们是表示不同的格式还是本质上相同
格式不同啊
不同格式吧
这两个日期时间格式表示的是相同的含义,都包括日期、时间和时区信息。它们的区别在于表示时区信息的方式。
“yyyy-MM-dd’T’HH:mm:ss.SSSZZ” 中的 “ZZ” 表示时区信息,例如 “+0800” 表示东八区。这种表示方式符合 ISO 8601 标准。
“yyyy-MM-dd’T’HH:mm:ss.SSSXXX” 中的 “XXX” 表示时区信息,例如 “+08:00” 表示东八区。这种表示方式在 Java 8 中引入,也符合 ISO 8601 标准。
因此,它们实质上表示相同的日期时间格式,只是表示时区信息的方式略有不同。
代码:
public static void printDate(Temporal t, String format) { System.out.println(DateTimeFormatter.ofPattern(format).format(t)); }
public static void testJavaTime() { ZonedDateTime zdt = ZonedDateTime.now(); printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSZ”); //2019-10-14 08:15:53.115+0200
printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSZZ”); //2019-10-14 08:15:53.115+0200
printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSZZZ”); //2019-10-14 08:15:53.115+0200
printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSZZZZ”); //2019-10-14 08:15:53.115GMT+02:00 printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSZZZZZ”); //2019-10-14 08:15:53.115+02:00
printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSX”); //2019-10-14 08:15:53.115+02
printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSXX”); //2019-10-14 08:15:53.115+0200
printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSXXX”); //2019-10-14 08:15:53.115+02:00
printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSXXXX”); //2019-10-14 08:15:53.115+0200
printDate(zdt, “yyyy-MM-dd HH:mm:ss.SSSXXXXX”); //2019-10-14 08:15:53.115+02:00 } 基于SimpleDateFormat,这是可能的格式的简单问题:
Z Time zone RFC 822 time zone -0800 X Time zone ISO 8601 time zone -08; -0800; -08:00 无论多少Z,它都将始终使用一种格式,[-+]#### 但是与X则不同。
X : [-+]## XX: [-+]#### XXX: [-+]##:## 现在,让我们演示一下:
public static void printDate(Date d, String format){ System.out.println(new SimpleDateFormat(format).format(d)); }
public static void testJavaDate() { Date d = new Date(); printDate(d, “yyyy-MM-dd HH:mm:ss.SSSZ”); //2019-10-14 07:52:10.308+0200 printDate(d, “yyyy-MM-dd HH:mm:ss.SSSZZ”); //2019-10-14 07:52:10.308+0200 printDate(d, “yyyy-MM-dd HH:mm:ss.SSSZZZ”); //2019-10-14 07:52:10.308+0200 printDate(d, “yyyy-MM-dd HH:mm:ss.SSSX”); //2019-10-14 07:52:10.308+02
printDate(d, “yyyy-MM-dd HH:mm:ss.SSSXX”); //2019-10-14 07:52:10.308+0200 printDate(d, “yyyy-MM-dd HH:mm:ss.SSSXXX”); //2019-10-14 07:52:10.308+02:00
}