我有一个"07-AUG-13"
形式的日期字符串。
我想知道给定日期是否在当前日期的某个时间段内。
bool
isItWithin(int period){
//check if "07-AUG-13" is within a "period" months from now
}
答案 0 :(得分:1)
使用Calendar
类:
public static boolean isWithinMonths(Date startDate, Date endDate, int months) {
Calendar startCalendar = Calendar.getInstance();
startCalendar.setTime(startDate);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(endDate);
startCalendar.add(Calendar.MONTH, months);
return startCalendar.before(endCalendar);
}
答案 1 :(得分:0)
如果您使用Java 8,请使用新的时间api。
LocalDate startDate = LocalDate.of(2004, Month.JANUARY, 1);
LocalDate endDate = LocalDate.of(2005, Month.JANUARY, 1);
long monthsInYear2 = ChronoUnit.MONTHS.between(startDate, endDate);
答案 2 :(得分:-2)
我建议您使用[Joda Time Library]而不是JDK< 8 [Joda ...]
或者你可以试试这个东西:
long diff = date1.getTime() - date2.getTime();
long monthDiff=Math.ceil((diff / (60 * 60 * 24)));