如何获取当前日期 - Java中的两周日期?

时间:2014-05-09 06:15:11

标签: java date

我今天的日期格式为2014-05-08,我需要在当前日期前2周获得日期。

所以我应该回来的数据是 - 2014-04-24

        String currentDate= dateFormat.format(date); //2014-05-08

        String dateBefore2Weeks = currentDate- 2 week;

但我不知道如何在Java当前日期之前提取两周的日期?

4 个答案:

答案 0 :(得分:3)

使用Calendar修改Date对象:

//method created for demonstration purposes
public Date getDateBeforeTwoWeeks(Date date) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(date);
    calendar.add(Calendar.DATE, -14); //2 weeks
    return calendar.getTime();
}

在代码中使用上述方法:

String currentDate= dateFormat.format(date); //2014-05-08
String dateBefore2Weeks = dateFormat.format(getDateBeforeTwoWeeks(date));

答案 1 :(得分:1)

  1. 使用SimpleDateFormat将日期解析为Date对象
  2. 使用日历对象从该日期开始减去14天
  3. 使用相同的SimpleDateFormat
  4. 格式化结果日期

答案 2 :(得分:1)

Java现在有一个非常好的内置日期库,java.timeJava 8捆绑在一起。

import java.time.LocalDate;

public class Foo {
    public static void main(String[] args) {
        System.out.println(LocalDate.parse("2014-05-08").minusWeeks(2));
        // prints "2014-04-24"
    }
}

答案 3 :(得分:0)

值得一看joda-time api [http://joda-time.sourceforge.net/userguide.html]