如何在java中添加日期2周?

2022-09-02 22:51:58

我在实例化时从对象获取了一个 Date,为了输出,我需要在该日期上添加 2 周。我想知道我将如何添加它,以及我的语法目前是否正确。

当前 Java:

private final DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
private Date dateOfOrder;

private void setDateOfOrder()
{
    //Get current date time with Date()
    dateOfOrder = new Date();      
}

public Date getDateOfOrder()
{
    return dateOfOrder;
}

此语法是否正确?另外,我想做一个返回估计发货日期的getter,这是订单日期后的14天,我不确定如何从当前日期添加和减去。


答案 1

使用日历并设置当前时间,然后用户添加日历的方法

试试这个:

int noOfDays = 14; //i.e two weeks
Calendar calendar = Calendar.getInstance();
calendar.setTime(dateOfOrder);            
calendar.add(Calendar.DAY_OF_YEAR, noOfDays);
Date date = calendar.getTime();

答案 2

我将向您展示我们如何在Java 8中做到这一点。给你:

public class DemoDate {
    public static void main(String[] args) {
        LocalDate today = LocalDate.now();
        System.out.println("Current date: " + today);

        //add 2 week to the current date
        LocalDate next2Week = today.plus(2, ChronoUnit.WEEKS);
        System.out.println("Next week: " + next2Week);
    }
}

输出:

Current date: 2016-08-15
Next week: 2016-08-29

爪哇8岩石!!