日期格式“ 2019-06-17-04:00”和“ 2019-06-17Z”有什么区别? “ 2019-06-17Z”到底指向什么时间?

时间:2019-06-17 18:21:54

标签: java spring-boot docker openshift

我在Spring Boot应用程序中使用XMLGregorianCalendar定义日期范围,并在调用REST服务时在输入中使用日期范围。但是,当我从本地致电服务时,我看到REST输入XML中的日期被设置为“ 2019-06-17-04:00”。如果我在Openshift容器中运行相同的应用程序,则在请求XML中将日期设置为“ 2019-06-17Z”。您能告诉我原因吗?这两种日期格式之间有什么区别?

XMLGregorianCalendar toDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
XMLGregorianCalendar fromDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(<some date>);

1 个答案:

答案 0 :(得分:0)

两个输入的后缀大概是指距UTC的偏移量。

  • -04:00上的2019-06-17-04:00表示比世界标准时间晚四个小时。
  • Z上的2019-06-17Z表示距UTC零小时-分钟-秒,即UTC本身。 Z的发音为“ Zulu”,是+00:00:00的缩写。

但是,您的两个输入均无意义。为没有日期的日期分配偏移量没有任何意义。实际上,在某些日期(例如,夏令时(DST)转换)上,日期可能涉及两个偏移量。

您应将这些值错误地报告给发布者。向他们介绍有关报告日期时间值的ISO 8691标准。