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

Pug*_*ugs 11 java datetime

我在实例化时从对象获取日期,为了输出,我需要在该日期添加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;
}
Run Code Online (Sandbox Code Playgroud)

这种语法是否正确?另外,我想制作一个getter,它返回一个估计的发货日期,即订单日期后14天,我不知道如何加减当前日期.

Rod*_*uin 30

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

试试这个:

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();
Run Code Online (Sandbox Code Playgroud)


PAA*_*PAA 14

我将向您展示如何在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);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

Current date: 2016-08-15
Next week: 2016-08-29
Run Code Online (Sandbox Code Playgroud)

Java 8摇滚!


Evg*_*eev 6

使用日历

    Date date = ...
    Calendar c = Calendar.getInstance();
    c.setTime(date);
    c.add(Calendar.WEEK_OF_MONTH, 2);
    date = c.getTime();
Run Code Online (Sandbox Code Playgroud)