Java 中 calendar类 calendar.get(Calendar.DAY_OF_MONTH)+1 用于schedule会导致什么情况
时间: 2024-02-17 13:01:29 浏览: 154
JAVA的Date类与Calendar类
5星 · 资源好评率100%
在 Java 中,`Calendar` 类的 `get` 方法可以用于获取日期/时间的各个字段,例如 `Calendar.DAY_OF_MONTH` 可以获取一个日期的日字段。而 `Calendar` 类的 `add` 方法可以用于对日期/时间的各个字段进行加减操作。因此,如果想要获取某个日期的后一天日期,可以使用以下代码:
```java
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH, 1);
Date tomorrow = calendar.getTime();
```
这段代码会将 `calendar` 对象的日期字段加上 1,然后调用 `getTime()` 方法获取加上后的日期。如果这段代码用于 `schedule` 中,会导致任务在下一天执行,而不是在当天执行。
举例来说,如果当前日期是 2021 年 10 月 20 日,那么上述代码会将 `calendar` 对象的日期字段加上 1,变成 2021 年 10 月 21 日,然后获取该日期并赋值给 `tomorrow` 变量。如果这段代码用于 `schedule` 中,那么任务将会在 2021 年 10 月 21 日执行,而不是在当天执行。
需要注意的是,如果任务需要在每天的固定时间执行,例如每天的 9:00 执行一次,那么上述代码并不能满足要求。在这种情况下,可以使用 Java 中的定时任务框架 `Quartz` 来实现。
阅读全文