如何在Java中获取从当前日期提前7天的日期

2022-09-01 05:33:24

我正在使用

DateFormat dateFormat = 
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Date date = new Date();
String fromdate = dateFormat.format(date);

要获取当前日期,我该如何获取日期7天。例如,如果今天是 2013 年 6 月 7 日,如何以日期格式化程序中定义的相同格式获取 2013 年 5 月 31 日?

更新

得到解决方案:

DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

        Date date = new Date();
        String todate = dateFormat.format(date);

        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DATE, -7);
        Date todate1 = cal.getTime();    
        String fromdate = dateFormat.format(todate1);

答案 1

您可以使用日历类:

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -7);
System.out.println("Date = "+ cal.getTime());

但正如帕特里克·弗洛伊德(Patrick Floyd)@Sean所提到的,Joda-time是Date最好的Java库。


答案 2

或者使用JodaTime

DateTime lastWeek = new DateTime().minusDays(7);