如何在 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