OffsetDateTime 中的 Z 偏移量是多少?

Fel*_*lix 6 java rabbitmq java-time

这两个 OffsetDateTime 返回不同的字符串表示形式和不同的偏移量。

触发时间是在不同的服务中创建的,也是通过OffsetDateTime.now()RabbitMQ然后发送过来的。

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

我检查了OffsetDateTime.toString() 文档,但不确定这是否真的是我应该寻找的地方......

感谢大家!

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
Run Code Online (Sandbox Code Playgroud)

Gho*_*ica 9

这通常被称为祖鲁时间,请参阅维基百科了解 UTC 和 ISO 8601:

如果时间采用 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表示 UTC 时间戳,偏移量为零。