如何在 Java 6 中获取带有 UTC 时间的字符串?

How can I get a String with UTC time in Java 6?

我正在尝试获取 UTC 格式的字符串中的当前时间:2022-05-19T18:20:53.480Z。但是,我必须使用 jdk 6 并且无法找到执行此操作的方法。有人知道怎么做吗?谢谢!

tl;博士

生成文本:

org.threeten.bp.Instant.now().toString()

解析文本:

org.threeten.bp.Instant.parse( "2022-05-19T18:20:53.480Z" )

避免遗留问题 date-time classes

在 Java 6 中发现的遗留 date-time classes 非常 有缺陷。避免 DateCalendar

ThreeTen-Backport

仅使用 java.time classes 在 Java 8 及更高版本中找到。对于 Java 6 和 7,将 ThreeTen-Backport 库添加到您的项目中。这为您带来了几乎相同的 java.time 功能 API.

您输入的字符串格式符合 ISO 8601 标准。 java.time when parsing/generating 文本默认使用标准格式。因此无需指定格式模式。

输入字符串末尾的 Z 表示偏移量为零 hours-minutes-seconds。 UTC 中的时刻(偏移量为零)由 Instant class.

表示
Instant instant = Instant.parse( "2022-05-19T18:20:53.480Z" ) ;

当然,我应该补充一点,Java 6 早就过去了 end-of-life。在没有提供更新的付费支持程序的情况下使用 Java 6 是有风险的业务。我强烈建议您转到 LTS version of Java: versions 8、11 和 17。