Java ZonedDateTime 类2024年10月26日 | 阅读需 5 分钟 Java 的 ZonedDateTime 类使用时区来表示给定的日期和时间。 它的状态在创建后无法更改,因为它是不可变的。此类包含时区信息以及所有具有纳秒精度的日期和时间字段。它有助于管理跨时区的日期和时间操作,并考虑夏令时调整。通过它对 ChronoZonedDateTime 接口的实现以及从 Object 类的继承,ZonedDateTime 提供了许多用于操作和查询日期和时间变量的方法。 为了适应不明确的本地日期和时间值,ZonedDateTime 类使用带有区域偏移的时区来保存所有具有纳秒精度的日期和时间字段。 Java ZonedDateTime 类声明让我们看看 java.time.ZonedDateTime 类的声明。 Java ZonedDateTime 类的方法
Java ZonedDateTime 类示例文件名:ZonedDateTimeExample1.java 立即测试输出 2016-10-05T08:20:10+05:30[Asia/Kolkata] 说明 提供的 Java 代码展示了如何使用 ZonedDateTime 类解析表示特定日期、时间和时区的字符串。在 main 方法中,代码解析字符串“2016-10-05T08:20:10+05:30[Asia/Kolkata]”并初始化一个名为 zone 的 ZonedDateTime 对象。 此字符串反映了 2016 年 10 月 5 日上午 8:20:10,时区偏移为 +05:30(比 UTC 早五个半小时)且时区标识符为“Asia/Kolkata”(印度标准时间)。当代码打印 zone 对象时,解析后的日期、时间和时区信息将显示在控制台上。 Java ZonedDateTime 类示例:of() 和 withZoneSameInstant()文件名:ZonedDateTimeExample2.java 立即测试输出 In India Central Time Zone: 2017-01-19T15:26+05:30[Asia/Kolkata] In Tokyo Central Time Zone:2017-01-19T18:56+09:00[Asia/Tokyo] 说明 给定的 Java 代码初始化一个 ZoneId 对象,该对象表示时区“Asia/Kolkata”(印度标准时间),以及一个 LocalDateTime 对象,该对象表示特定日期和时间(2017 年 1 月 19 日下午 3:26)。然后,使用 ZonedDateTime.of() 方法将 LocalDateTime 和 ZoneId 组合起来,以生成一个名为 zone1 的 ZonedDateTime 对象。 印度的日期、时间和时区信息随后在 zone 1 中打印出来。接下来,代码使用一个新的 ZoneId 对象定义“Asia/Tokyo”,另一个时区。通过利用 withZoneSameInstant() 函数将 zone1 更改为东京时区,它生成一个名为 zone2 的新 ZonedDateTime 对象。最后,打印 zone 2,保留原始瞬间,同时显示东京的日期、时间和时区信息。 Java ZonedDateTime 类示例:getZone()文件名:ZonedDateTimeExample3.java 立即测试输出 GMT 说明 提供的 Java 代码展示了如何使用 ZonedDateTime 类来获取当前日期、时间和时区。使用静态方法 ZonedDateTime.now(),该方法根据系统时钟和默认时区获取当前日期和时间,main() 方法中的代码生成一个名为 zone 的 ZonedDateTime 对象。接下来,它使用 getZone() 方法来获取与 zone 对象关联的时区,并将其输出到控制台。结果将显示当前时区标识。 Java ZonedDateTime 类示例:minus()文件名:ZonedDateTimeExample4.java 立即测试输出 2023-12-05T16:34:30.886158Z[GMT] 说明 通过从当前日期和时间中减去 126 天,给定的 Java 代码说明了如何使用 ZonedDateTime 类来创建新的日期和时间。main 函数中的代码首先使用 ZonedDateTime.now() 来获取当前日期和时间,然后将其设置为 zone 变量。接下来,它使用 minus() 函数创建一个名为 m 的新 ZonedDateTime 对象,方法是从 zone 中减去 126 天的周期。126 天的周期由 Period.ofDays(126) 创建。从当前日期和时间减去 126 天后,代码将 m 的值写入控制台。这将显示生成的日期和时间。 Java ZonedDateTime 类示例:plus()文件名:ZonedDateTimeExample5.java 立即测试输出 2024-08-13T16:39:53.269696Z[GMT] 说明 正如本 Java 代码所演示的,ZonedDateTime 类可用于通过将 126 天添加到当前日期和时间来计算新的日期和时间。main 方法中的代码首先使用 ZonedDateTime.now() 来检索当前日期和时间,然后将其分配给变量 zone。 然后,它使用 plus() 函数将 126 天的周期添加到 zone 以构造一个名为 p 的新 ZonedDateTime 对象。等于 126 天的周期由 Period.ofDays(126) 函数产生。然后,代码将 126 天添加到当前日期和时间,并将 p 的值打印到控制台以显示生成的日期和时间。 下一个主题Java ZoneId |
我们请求您订阅我们的新闻通讯以获取最新更新。