如何在 Java 的 Date 对象中添加小时?

2024 年 9 月 10 日 | 阅读 3 分钟

Java 的 LocalDateTime 类中的 plusHours() 方法可用于向时间值添加小时。在本节中,我们将学习如何在 Java 中向日期对象添加小时。

除了当前日期,我们还将向类似日期字符串的内容添加小时。

使用 LocalDateTime 类

如果您的日期是字符串格式,请首先使用 parse() 方法解析该字符串以获取 LocalDateTime 对象。

之后,使用 plusHours() 方法向其添加小时。

文件名: AddHours.java

输出

The date is : 2023-01-19T17:28:13.048909208
 The date after adding hours is : 2023-01-19T20:28:13.048909208

如果我们已经有了 LocalDateTime 对象,则可以使用 plusHours() 函数而不是 parse() 方法。

语法

plusHours() 函数具有以下签名。

这里 h 表示小时。

返回值: 它不返回 null,而是返回一个 LocalDateTime 的副本,其中已添加请求的小时数。

它只接受一个 long 类型的值作为参数。

异常: 如果结果大于支持的(MIN 或 MAX)日期范围,则会抛出 DateTimeException。

此方法调用对原始实例 (LocalDateTime) 没有影响,因为它是不可变的。

调整时间(以小时为单位)

在这种情况下,当前时间和日期是使用 LocalDateTime 类的静态 now() 函数获取的。

为了向该日期添加小时,我们随后使用了 plusHours() 函数。

在 Java 中,LocalDateTime 类表示本地日期和时间。

该类包含年、月、日、小时、分钟、秒和纳秒。

文件名: AddHours.java

输出

The date is : 2023-01-19T17:28:13.048909208
 The date after adding hours is : 2023-01-19T20:28:13.048909208

在 Date 对象中减去小时

plusHours() 方法也可以使用负值。因此,如果我们传入一个负整数,它将首先从日期中减去小时。

因此,如果我们传入负值,我们可以说小时是从日期中减去的,而不是添加的。请查看下面的代码示例。

文件名: SubtractHours.java

输出

The date is : 2023-01-19T17:28:13.048909208
 The date after subtracting hours is : 2023-01-19T14:28:13.048909208