如何在 Java 中获取 UTC 时间?

17 Mar 2025 | 6 分钟阅读

在 Java 中,我们经常需要将一个时区的时间转换为另一个时区的时间。UTC 代表 协调世界时 (UTC)。 在 UTC 开始之前,它被称为格林尼治标准时间 (GMT)。印度用户在处理不同时区时,需要将 IST 时间转换为 UTC 时间。

在 Java 中,有许多方法可以获取 UTC 时间,如下所示:

1. 当前 UTC 时间 - SimpleDateFormat

SimpleDateFormat 是获取 UTC 时间最重要的类之一。SimpleDateFormat 主要用于较旧版本的 Java,例如 Java 8。

让我们举一个例子来理解如何在 Java 8 中使用 SimpleDateFormat 获取 UTC 时间。

UTCTimeExample1.java

输出

How to get UTC time in Java

2. 当前 UTC 时间 - Java 8 Instant

在 Java 8 中,我们可以通过创建 Instant 对象的实例来轻松获取当前的 UTC 时间。Java 8 引入了一个出色的新 Java.time.* 包,用于使用旧的 Java Date/Calendar 类。Instant 类将时间线上的一个时刻定义为 UTC,作为默认时区。

让我们举一个例子来理解如何使用 Java 8 Instant 获取当前的 UTC 时间。

UTCTimeExample2.java

输出

How to get UTC time in Java

3. 当前 UTC 时间 - Java 8 OffsetDateTime

Java 的 OffsetDateTime 类是获取当前 UTC 时间的重要类之一。OffsetDateTime 是一个日期-时间带偏移量的不可变表示,主要用于以纳秒精度存储日期-时间字段。

让我们举一个例子来理解如何使用 OffsetDateTime 类获取当前的 UTC 时间。

UTCTimeExample3.java

输出

How to get UTC time in Java

4. 当前 UTC 时间 - Joda Time

Java 的 Joda Time API 是一个重要的 API,也可用于获取当前的 UTC 时间。为了使用 Joda Time,我们需要在我们的 POM.xml 文件中添加以下依赖项:

让我们举一个例子来理解如何使用 Joda Time API 获取当前的 UTC 时间。

UTCTimeExample4.java

输出

How to get UTC time in Java

上面讨论的所有方法都用于获取 Java 中的当前 UTC 时间,而我们主要使用 SimpleDateFormat 类来获取 UTC 时间。

让我们再举一个例子来理解如何将给定时间转换为 UTC 时间。

UTCTimeExample5.java

输出

How to get UTC time in Java