在给定日期之前的给定月份之前查找日期

时间:2013-04-19 06:34:45

标签: java date

我有个约会对象,例如现在的日期是19/04/2013

我有几个月的时间说,例如10

我想知道从2013年4月19日起10个月之前的日期。

如何在Java中实现它?

例如,如果我想在一周之前找出日期,我可以实现如下:

Calendar calendar = Calendar.getInstance();
calendar.setTime(myDate);
calendar.add(Calendar.DAY_OF_YEAR, -7);
Date newDate = calendar.getTime();

但是如何在几个月内找到相同的东西?

2 个答案:

答案 0 :(得分:5)

嗯,你可以做一些与你的例子类似的事情:

Calendar calendar = Calendar.getInstance();
calendar.setTime(myDate);
calendar.add(Calendar.MONTH, -10);
Date newDate = calendar.getTime();

它会将newDate设置为myDate之前10个月的日期。

答案 1 :(得分:2)

使用jodatime,这是如此简单和冗长:

 LocalDate date = LocalDate.parse("19/04/2013", DateTimeFormat.forPattern("dd/MM/yyyy"));
 LocalDate result = date.minus(Months.TEN);
 System.out.println(result.toString("dd/MM/yyyy"));