找出两个日期之间的差异

时间:2010-12-16 10:49:07

标签: java date

在JSP页面中,我有四个样本日期,如01-dec,15-dec,30-dec和15-jan。我需要检查上面的日期和当前日期的差异是否为15。

这是我的尝试:

    Calendar calendar = Calendar.getInstance();
    Calendar calendar1 = Calendar.getInstance();
    Calendar calendar2 = Calendar.getInstance();
    Calendar calendar3 = Calendar.getInstance();
    Calendar calendar4 = Calendar.getInstance();

    calendar1.set(2011, 11, 02);
    calendar2.set(2011, 06, 02);
    calendar3.set(2011, 09, 07);
    calendar4.set(2011, 06, 05);

    long milliseconds1 = calendar1.getTimeInMillis();
    long milliseconds2 = calendar.getTimeInMillis();

    long diff = milliseconds2 - milliseconds1;
    long diffDays = diff / (24 * 60 * 60 * 1000);

    if (diffDays <= 15) {
        System.out.println("Fifteen");
    } else {
        System.out.println("No Fifteen");
            }

我要检查所有四种情况的条件是否差异为15。将这些日历实例放在地图或列表中。我不知道怎么做。

2 个答案:

答案 0 :(得分:1)

我建议您使用joda time。它还会影响时区和夏令时差异。以下是如何获得2个日期之间的天数差异的示例。

Days d = Days.daysBetween(startDate, endDate);
int days = d.getDays();
if(days==15){
   //do something
}

答案 1 :(得分:0)

使用date4j库:

int days = dt.numDaysFrom(today);