📜  如何在java中减去localdatetime(1)

📅  最后修改于: 2023-12-03 15:08:54.717000             🧑  作者: Mango

如何在Java中减去LocalDateTime

在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对象。

总结

我们可以通过plusminus系列方法在Java中对LocalDateTime对象进行加减计算,这些方法非常方便且易于使用。需要注意的是,我们需要保存返回的新的LocalDateTime对象。