0

我有一个日期,例如当前日期是 2013 年 4 月 19 日

我有几个月的时间,比如 10

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

如何在 Java 中实现它?

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

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

但是如何找到相同的几个月?

4

2 回答 2

5

好吧,你可以做一些类似于你的例子的事情:

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

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

于 2013-04-19T06:38:32.053 回答
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"));
于 2013-04-19T06:44:44.283 回答