📅  最后修改于: 2023-12-03 15:08:54.717000             🧑  作者: Mango
在Java 8及以上版本中,java.time
包提供了一组全新的日期时间API。其中包括LocalDateTime
类,它表示一个不带时区的日期和时间,可以非常方便地进行日期和时间的计算。
本文将介绍如何在Java中减去LocalDateTime
对象。
在LocalDateTime
中常用的方法有:
plusSeconds(long seconds)
、plusMinutes(long minutes)
、plusHours(long hours)
、plusDays(long days)
、plusWeeks(long weeks)
:分别在当前LocalDateTime
上加上秒、分钟、小时、天数、周数并返回一个新的LocalDateTime
对象。minusSeconds(long seconds)
、minusMinutes(long minutes)
、minusHours(long hours)
、minusDays(long days)
、minusWeeks(long weeks)
:分别从当前LocalDateTime
上减去秒、分钟、小时、天数、周数并返回一个新的LocalDateTime
对象。import java.time.LocalDateTime;
import java.time.Month;
public class SubtractLocalDateTimeExample {
public static void main(String[] args) {
LocalDateTime dateTime1 = LocalDateTime.of(2022, Month.JANUARY, 1, 12, 0);
LocalDateTime dateTime2 = LocalDateTime.of(2021, Month.JANUARY, 1, 0, 0);
LocalDateTime diff = dateTime1.minusYears(1).minus(dateTime2);
System.out.printf("DateTime1: %s\n", dateTime1);
System.out.printf("DateTime2: %s\n", dateTime2);
System.out.printf("Diff: %s\n", diff);
}
}
此示例代码中,我们创建了两个LocalDateTime
对象,一个代表2022年1月1日12点,另一个代表2021年1月1日零点。接着,我们计算了两个日期的差,即将当前LocalDateTime
减去另一个LocalDateTime
对象。
代码运行结果如下:
DateTime1: 2022-01-01T12:00
DateTime2: 2021-01-01T00:00
Diff: PT8760H
其中PT8760H
表示Time Duration
类型,表示两个日期间隔8760小时(即一年),可以看出,我们成功地减去了一个LocalDateTime
对象。
我们可以通过plus
和minus
系列方法在Java中对LocalDateTime
对象进行加减计算,这些方法非常方便且易于使用。需要注意的是,我们需要保存返回的新的LocalDateTime
对象。