Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日期格式和#x201C;2019-06-17-04:00”;和“;2019-06-17Z”;?确切的时间是“;2019-06-17Z&x201D;指向?_Java_Spring Boot_Docker_Openshift - Fatal编程技术网

Java 日期格式和#x201C;2019-06-17-04:00”;和“;2019-06-17Z”;?确切的时间是“;2019-06-17Z&x201D;指向?

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

我在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>);
XMLGregorianCalendar toDate=DatatypeFactory.newInstance().newXMLGregorianCalendar(newGregorianCalendar());
XMLGregorianCalendar fromDate=DatatypeFactory.newInstance().newXMLGregorianCalendar();

两个输入上的后缀大概都指UTC的偏移量

  • 2019-06-17-04:00
    上的
    -04:00
    表示比UTC晚四小时
  • 2019-06-17Z
    上的
    Z
    表示从UTC开始的零小时分秒,即UTC本身。
    Z
    发音为“Zulu”,是
    +00:00:00
    的缩写
但是,您的两个输入都没有意义。为没有时间的日期指定偏移量是没有意义的。事实上,在某些日子,如夏令时(DST)转换,一个日期可能涉及两个偏移量


您应该向发布者报告这些值是错误的。向他们介绍报告日期时间值的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为单位。我不确定它是否符合标准。