Java 日期格式和#x201C;2019-06-17-04:00”;和“;2019-06-17Z”;?确切的时间是“;2019-06-17Z&x201D;指向?
我在spring boot应用程序中使用Java 日期格式和#x201C;2019-06-17-04:00”;和“;2019-06-17Z”;?确切的时间是“;2019-06-17Z&x201D;指向?,java,spring-boot,docker,openshift,Java,Spring Boot,Docker,Openshift,我在spring boot应用程序中使用XMLGregorianCalendar来定义日期范围,并在调用REST服务时在输入中使用相同的日期范围。但是,当我从本地呼叫服务时,我看到REST输入XML中的日期被设置为“2019-06-17-04:00”。如果我在Openshift容器中运行相同的应用程序,则在请求XML中将日期设置为“2019-06-17Z”。你能告诉我原因吗?这两种日期格式有什么区别 XMLGregorianCalendar toDate = DatatypeFactory.ne
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>);
XMLGregorianCalendar toDate=DatatypeFactory.newInstance().newXMLGregorianCalendar(newGregorianCalendar());
XMLGregorianCalendar fromDate=DatatypeFactory.newInstance().newXMLGregorianCalendar();
两个输入上的后缀大概都指UTC的偏移量
上的2019-06-17-04:00
表示比UTC晚四小时-04:00
上的2019-06-17Z
表示从UTC开始的零小时分秒,即UTC本身。Z
发音为“Zulu”,是Z
的缩写+00:00:00
您应该向发布者报告这些值是错误的。向他们介绍报告日期时间值的ISO 8691标准 一个是带有日期+时间的时间戳,另一个只是日期。这就是你要问的吗?在-04:00那一个有一个“T”吗?比如说,美国/东部时间22:00(晚上10:00),可能是2019-06-17T-04:00,但同时也可能是UTC的2019-06-18Z。时间里没有“T”。“2019-06-17Z”指的是什么时间?“2019-06-17Z”大概是指“2019-06-17T00:00:00Z”,即2019年6月17日的第一个瞬间,以UTC为单位。我不确定它是否符合标准。