Java 如何为日期对象添加小时
Java中LocalDateTime类的plusHours()函数可以用来为一个时间值添加小时。在本节中,我们将学习如何在Java中向日期对象添加小时。
除了当前日期之外,我们还将向类似于日期字符串的东西添加小时。
使用LocalDateTime类
如果你有一个字符串中的日期,要获得localdatetime对象,首先要使用parse()方法解析该字符串。
之后使用plusHours()方法为其添加小时。
文件名: AddHours.java
/*
* Program for how to add hours to date and time in Java
*/
import java.time.LocalDateTime;
public class AddHours {
public static void main(String args[]) {
// Given a date in terms of string
String stringDate = "2023-01-19T17:28:13.048909208";
// parsing into date time the date
LocalDateTime d = LocalDateTime.parse(stringDate);
// Displaying the date as well as the time
System.out.println(" The date is : "+d);
// Add 3 hours to the above date
LocalDateTime d2 = d.plusHours(3);
// Displaying the result
System.out.println(" The date after adding hours is : "+d2);
}
}
输出 。
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()函数的签名如下。
public LocalDateTime plusHours(long h)
这里h表示小时。
返回值: 它不返回空值,而是从LocalDateTime中复制一个添加了要求的小时数的副本。
它只接受一个长类型的值作为参数。
异常: 如果结果大于支持的(MIN或MAX)日期范围,会抛出一个DateTimeException。
这个方法调用对初始实例(LocalDateTime)没有影响,它是不可改变的。
调整一小时的时间
在这个例子中,当前时间和日期是通过LocalDateTime类的静态now()函数获得的。
为了给这个日期增加小时,我们使用了plusHours()函数。
在Java中,LocalDateTime类代表本地日期和时间。
年、月、日、小时、分钟、秒和纳秒都包含在这个类中。
文件名:AddHours.java
/*
* Program for how to add hours to date and time in Java
*/
import java.time.LocalDateTime;
public class AddHours {
public static void main(String args[]) {
// Given a date in terms of string
String stringDate = "2023-01-19T17:28:13.048909208";
// parsing into date time the date
LocalDateTime d = LocalDateTime.parse(stringDate);
// Displaying the date as well as the time
System.out.println(" The date is : "+d);
// Add 3 hours to the above date
LocalDateTime d2 = d.plusHours(3);
// Displaying the result
System.out.println(" The date after adding hours is : "+d2);
}
}
输出 。
The date is : 2023-01-19T17:28:13.048909208
The date after adding hours is : 2023-01-19T20:28:13.048909208
日期对象中小时数的减法
负值也可以用plusHours()方法来使用。因此,如果我们传递了一个负的整数,它将首先从日期中减去小时。
因此,如果我们传入负值,我们可以声称小时数是从日期中减去,而不是增加。请看下面的代码例子。
文件名。SubtractHours.java
/*
* Program for how to subtract hours from the date and time in Java
*/
import java.time.LocalDateTime;
public class SubtractHours {
public static void main(String args[]) {
// Given a date in terms of string
String stringDate = "2023-01-19T17:28:13.048909208";
// parsing into date time the date
LocalDateTime d = LocalDateTime.parse(stringDate);
// Displaying the date as well as the time
System.out.println(" The date is : "+d);
// subtracting 3 hours from the above date
LocalDateTime d2 = d.plusHours(-3);
// Displaying the result
System.out.println(" The date after subtracting hours is : "+d2);
}
}
输出 。
The date is : 2023-01-19T17:28:13.048909208
The date after subtracting hours is : 2023-01-19T14:28:13.048909208