我有个约会对象,例如现在的日期是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();
但是如何在几个月内找到相同的东西?
答案 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"));