如何获得给定日期的第二天和前一天?

时间:2014-09-03 11:19:22

标签: java datetime

如果知道某个日期,如何在Java中获取第二天和前一天?例如,假设getBatchDate() = 2014-08-21。用较少的代码如何获得前一天和第二天?

3 个答案:

答案 0 :(得分:2)

使用日历添加值:

    Calendar cal = new GregorianCalendar();
    cal.setTime(getBatchDate());
    cal.add(Calendar.DAY_OF_MONTH, 1);
    Date nextDay = cal.getTime();
    cal.setTime(getBatchDate());
    cal.add(Calendar.DAY_OF_MONTH, -1);
    Date prevDay = cal.getTime();

答案 1 :(得分:0)

使用Calendar#add()方法,其中第一个参数为DATE,第二个值为1或-1,基于下一天或前一天。

示例代码:

Calendar cal=Calendar.getInstance();
cal.setTime(date);  // set the date
//cal.add(Calendar.DATE, 1); // next day
cal.add(Calendar.DATE, -1); // prev day
System.out.println(cal.getTime());

答案 2 :(得分:0)

我会在你的pom中加入Joda DateTime 你可以创建一个DateTime对象,它有一天加减一些方法,实际上非常可靠。

<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.4</version>
</dependency>