在本教程中,我们将学习如何在 Java 中将日期增加一天。这可以通过使用各种方法来完成,例如 plusDays 方法,Calendar 类方法,向 Date 对象添加毫秒以及 Instant class 方法。如果你使用的是 Java 1.8 或更高版本,我们建议使用 plusDays 方法。
在 Java 1.8 及更高版本中,新的 java.time 类(即 LocalDate,LocalDateTime)具有 plusDays 和 minusDays 方法,可从任何时间实例中添加和减去时间单位。
示例代码:
// java 1.8
package simpletesting;
import java.time.LocalDateTime;
public class SimpleTesting {
public static void main(String[] args) {
LocalDateTime today = LocalDateTime.now(); //Today
LocalDateTime tomorrow = today.plusDays(1); //Plus 1 day
LocalDateTime yesterday = today.minusDays(1); //Minus 1 day
System.out.println("Today: "+today);
System.out.println("Tomorrow: "+tomorrow);
System.out.println("Yesterday: "+yesterday);
}
}
输出:
Today: 2020-03-22T19:01:00.728
Tomorrow: 2020-03-23T19:01:00.728
Yesterday: 2020-03-21T19:01:00.728
我们可以使用日历 Calendar 类向 Java 中的日期添加一天。只需在日历类实例中添加一天即可完成:
代码如下(示例):
// java 1.8
package simpletesting;
import java.util.Calendar;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
Date dt = new Date();
System.out.println("Today: "+dt);
Calendar c = Calendar.getInstance();
c.setTime(dt);
c.add(Calendar.DATE, 1);
dt = c.getTime();
System.out.println("Tomorrow: "+dt);
}
}
输出:
Today: Sun Mar 22 19:07:48 PKT 2020
Tomorrow: Mon Mar 23 19:07:48 PKT 2020
Java 日期有一个使用毫秒的构造函数。getTime() 方法为我们提供了该值。因此,增加一天的毫秒数将为 Date 添加一天。
代码:
代码如下(示例):
// java 1.8
package simpletesting;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
Date dt = new Date();
System.out.println("Today: " + dt);
Date tomorrow = new Date(dt.getTime() + (1000 * 60 * 60 * 24));
System.out.println("Tomorrow: " + tomorrow);
}
}
输出:
Today: Sun Mar 22 19:15:27 PKT 2020
Tomorrow: Mon Mar 23 19:15:27 PKT 2020
请注意,如果我们使用带有夏令时的日历时区,则可能不会跳到第二天。
Java Instant 类几乎等同于日期。Instant 解析为纳秒。instant.plus 方法将给定的天数添加到 Date 中。
代码:
// java 1.8
package simpletesting;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.Date;
public class SimpleTesting {
public static void main(String[] args) {
Date dt = new Date();
System.out.println("Today: " + dt);
Instant instant = dt.toInstant();
Instant nextDay = instant.plus(1, ChronoUnit.DAYS);
System.out.println("Tomorrow: " + nextDay);
}
}
输出:
Today: Sun Mar 22 19:19:58 PKT 2020
Tomorrow: 2020-03-23T14:19:58.072Z
可以使用 java.util.Calendar 类来实现这个功能。以下是一个简单的示例:
import java.util.Calendar;
import java.util.Date;
public class AddOneDay {
public static void main(String[] args) {
// 创建一个 Calendar 实例
Calendar calendar = Calendar.getInstance();
// 获取当前日期
Date currentDate = new Date();
System.out.println("当前日期: " + currentDate);
// 将 Calendar 设置为当前日期
calendar.setTime(currentDate);
// 为 Calendar 增加一天
calendar.add(Calendar.DATE, 1);
// 获取增加一天后的日期
Date nextDate = calendar.getTime();
System.out.println("增加一天后的日期: " + nextDate);
}
}
在这个示例中,我们首先创建了一个 Calendar 实例,并将其设置为当前日期。然后,我们使用 add 方法为日期增加一天。最后,我们使用 getTime 方法获取增加一天后的日期。
需要系统源码或者BiShe加V
ID:talon712