如何在 Java 中为日期增加一天

Asad Riaz 2023年1月30日 2020年6月9日
  1. plusDays() 方法将 Java 中的日期增加一天
  2. Calendar 方法将 Java 中的日期增加一天
  3. Milliseconds 方法将 Java 中的日期增加一天
  4. Instant 类向 Java 日期添加一天
如何在 Java 中为日期增加一天

在本教程中,我们将学习如何在 Java 中将日期增加一天。这可以通过使用各种方法来完成,例如 plusDays 方法,Calendar 类方法,向 Date 对象添加毫秒以及 Instant class 方法。如果你使用的是 Java 1.8 或更高版本,我们建议使用 plusDays 方法。

plusDays() 方法将 Java 中的日期增加一天

在 Java 1.8 及更高版本中,新的 java.time 类(即 LocalDateLocalDateTime)具有 plusDaysminusDays 方法,可从任何时间实例中添加和减去时间单位。

示例代码:

// 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 中的日期增加一天

我们可以使用日历 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

Milliseconds 方法将 Java 中的日期增加一天

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

请注意,如果我们使用带有夏令时的日历时区,则可能不会跳到第二天。

Instant 类向 Java 日期添加一天

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 DateTime