Java 中从当前日期减去天数

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

在 Java 中,处理日期和时间并不难,因为 Java 提供了用于日期和时间的 API,这使得开发人员的任务更加容易。

在本节中,我们将讨论如何从当前日期和任何特定日期减去天数。

  • 使用 Java Calendar 类
  • 使用 Java LocalDate 类

使用 Java Calendar 类

在下面的 Java 程序中,我们使用了 Java 的 Calendar 类。为了获取当前日期,我们首先创建了一个 Calendar 类的实例,然后调用 getTime() 方法,该方法将在控制台上打印当前日期和时间。

现在,让我们通过调用 add() 方法和 Calendar.DATE 常量来减去天数。在此方法中,我们传递了一个负值,因为我们正在从当前日期减去天数。

同样,我们也可以在当前日期上添加天数。请注意,天数必须为正数。让我们在 Java 程序中实现上述逻辑。

SubtractDays.java

输出

Current Date = Mon Feb 14 19:15:55 GMT 2022
Updated Date = Fri Feb 11 19:15:55 GMT 2022

除了使用 DATE 字段,我们还可以使用 DAY_OF_YEAR 字段来获取当前日期。请考虑以下程序。

SubtractDays.java

输出

Current Date: Mon Feb 14 20:03:50 GMT 2022
Date before 100 days: Sat Nov 06 20:03:50 GMT 2021

使用 Java LocalDate 类

Java 8 引入了一个新的 DateTime API 来操作日期和时间。该 API 提供了许多 Java 类。但该 API 中最有用的类之一是 LocalDate 类,用于保存日期值。它属于 java.time 包。

在下面的 Java 程序中,我们使用了 LocalDate 类的 parse() 方法。它用于从字符串(例如 '2022-02-14')作为参数获取 LocalDate 的实例。请注意,字符串必须是有效的日期时间格式。

语法

该类还提供了一个 minusDays() 方法,用于从当前日期减去天数。

minusDays() 方法的语法如下

该方法接受一个 long 值,表示要从当前日期减去的天数。请注意,要减去的天数可以是正数或负数。它返回减去天数后的日期副本。如果结果超出支持的日期范围,它将抛出 DateTimeException

以下 Java 程序从当前日期减去天数。

SubtractDays.java

输出

Date: 2022-02-14
New Date: 2021-12-20

以下 Java 程序从指定日期减去天数。

SubtractDays.java

输出

Date: 2022-02-11
New Date: 2022-01-30

在上面的程序中,我们还可以更改时区。请考虑以下程序。

SubtractDays.java

输出

New Date: 2022-01-15

下一个主题Java Future 示例