什么是OffsetDateTime中的Z偏移量?

时间:2019-06-19 09:08:28

标签: java rabbitmq java-time

这两个OffsetDateTime返回不同​​的String表示形式和不同的偏移量。

触发时间是在其他服务中创建的,但也可以通过OffsetDateTime.now()创建,然后通过RabbitMQ发送。

这些只是ISO-8601格式的不同表示形式吗?还是我缺少有效的偏移值?

我检查了OffsetDateTime.toString() docu,但不确定那是我真正要去的地方...

谢谢大家!

OffsetDateTime offsetDateTime = event.getTriggerTime();

System.out.println(offsetDateTime); //2019-06-19T08:56:19.152564Z
System.out.println(OffsetDateTime.now()); //2019-06-19T10:56:19.293893+02:00

1 个答案:

答案 0 :(得分:4)

这通常称为 Zulu 时间,有关UTC和ISO 8601的信息,请参见wikipedia

  

如果时间以UTC表示,则在时间后直接添加一个Z,不能带空格。 Z是零UTC偏移量的区域标记。因此,“ 09:30 UTC”表示为“ 09:30Z”或“ 0930Z”。 “ 14:45:15 UTC”将是“ 14:45:15Z”或“ 144515Z”。

     

ISO 8601时间表示形式中的Z后缀有时被称为“祖鲁时间”,因为使用相同的字母来表示祖鲁时区。但是,定义军事时区列表的ACP 121标准没有提及UTC,而是从格林威治标准时间(以前用作国际民用时间标准)得出“祖鲁时间”。 GMT不再由科学界精确定义,可以根据上下文引用UTC或UT1。

TL; DR:Z表示具有 z ero偏移量的UTC时间戳。