Java getDate date-x天

时间:2011-07-11 12:43:02

标签: java

  

可能重复:
  Anyone know a simple way using java calendar to subtract X days to a date?

我想从newDate和days

获取日期字符串

所以昨天的日子如下:

sdate="2011-07-11" 
days=-1

next day
sdate="2011-07-11" 
days=+1


public static String getNewDate(String sdate, int days) {

return "2011-07-10" or "2011-07-12"

我该怎么做?

4 个答案:

答案 0 :(得分:4)

使用DateFormatCalendar,例如:

private static final DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

public static String getNewDate(String sdate, int days) throws Exception {
    Date inputDate = dateFormat.parse(sdate);

    Calendar calendar = new GregorianCalendar();
    calendar.setTime(inputDate);
    calendar.add(Calendar.DAY_OF_MONTH, days);

    return dateFormat.format(calendar.getTime());
}

public static void main(String[] args) throws Exception {
    System.out.println(getNewDate("2011-07-11", -1));
    System.out.println(getNewDate("2011-07-11", 1));
}

答案 1 :(得分:2)

以下是错误的吗?

calendar.add(Calendar.DATE, noOfDaysToAdd);

答案 2 :(得分:1)

答案 3 :(得分:0)

如果你真的想做日期操作,我说你最好不要使用java.util.Calendar(几乎每种情况都是GregorianCalendar)。

然后,如果你想将它转换为String,你可以随时使用toString。