Java 中的 OffsetDateTime format() 方法及示例

2025 年 1 月 6 日 | 阅读 2 分钟

Java 中的 OffsetDateTime 类使用提供的格式化器在其 format() 方法中格式化此日期和时间。Java 中的 OffsetDateTime 类使用提供的格式化器在其 format() 方法中格式化此日期和时间。

语法

参数: 此方法仅接受 formatter 参数,该参数是要使用的格式化器,不能为 null。

返回值: 返回格式化后的日期字符串,不为 null。

异常: 函数通过抛出 DateTimeException 来处理打印期间发生的错误。

示例 1

提供的 Java 代码向我们展示了如何解析和获取 OffsetDateTime 对象。在定义一个名为 formatExample1 的类并带有 main 函数之前,它会导入所需的类。在 main 方法中,解析提供的日期-时间字符串以构造 OffsetDateTime 实例 d1。接下来,解析日期和时间并将其打印到终端。然后,使用 ISO_TIME 格式定义 DateTimeFormatter 的实例格式。最后,使用 ISO_TIME 格式化器,代码格式化 OffsetDateTime 实例 d1 并输出格式化后的时间。

实施

文件名: formatExample1.java

输出

 
The Date is given by: 2018-12-12T13:30:30+05:00
The format is given by: 13:30:30+05:00   

示例 2

在 Java 代码中定义了一个名为 formatExample2 的类,其 main 方法展示了如何解析和格式化 OffsetDateTime 对象。它在 try-catch 块中尝试将给定的日期-时间字符串解析为 OffsetDateTime 实例 d1。如果解析成功,则将使用 ISO_TIME 格式化器格式化后的时间与解析的日期和时间一起打印到终端。但是日期字符串具有非法的月份值(“13”)。因此,会生成 DateTimeParseException,捕获该异常,并将异常消息写入控制台。

实施

文件名: formatExample2.java

输出

 
java.time.format.DateTimeParseException: Text '2024-13-27T13:30:30+05:00' could not be parsed: Invalid value for MonthOfYear (valid values 1 - 12): 13