从X天前获取日期,即使日期是从去年开始

时间:2016-01-04 18:34:15

标签: java

所以,我知道如何使用与此类似的东西在过去n天获取日期:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -daysPrevious);
Date thendate = cal.getTime();

我的问题是,如果daysPrevious将日期设置为去年某个时间(例如我将其设置为今天之前的7天,即12/28/15),则年份不会更改,并且返回的日期将是2016年12月28日。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

尝试编译并运行这个自包含的示例,看起来您的程序中似乎还有其他错误。

import java.util.Calendar;
import java.util.Date;
public class Main {
        public static void main (String[] args) {
                Calendar cal = Calendar.getInstance();
                cal.set(2016, Calendar.JANUARY, 4);
                cal.add(Calendar.DATE, -6);
                Date thendate = cal.getTime();
                System.out.println(thendate);
        }
}

我的输出是:

Tue Dec 29 13:48:41 EST 2015