Java日历日期添加和计算

时间:2012-10-18 06:17:06

标签: java sql date servlets calendar

while (rs.next()) {
    String rn = rs.getString(3);
    String sqldate = rs.getString(2); // database reservation date
    if (rn.equals(rnumber)) {
        Calendar cal = Calendar.getInstance();
        String rdate = (Integer.toString(cal.get(Calendar.YEAR)) + "-" + Integer.toString(cal.get(Calendar.MONTH)) + "-" + Integer.toString(cal.get(Calendar.DATE)));
    } else {
        response.sendRedirect("status.jsp?Status=Reservation number not exist");
    }
}

我需要在SQL日期(2012-10-05 +7)中添加7天,并且需要检查那些日期是在SQL日期和当前日期之间。

3 个答案:

答案 0 :(得分:2)

您需要解析date字符串以创建java.sql.Date对象: -

String sqldate = rs.getString(2);
DateFormat DOB = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date convertedDate = new java.sql.Date(DOB.parse(sqldate).getTime());

然后使用Calendar.setTime()方法将Date设置为日历实例: -

Calendar cal = Calendar.getInstance();
cal.setTime(convertedDate);
cal.add(Calendar.DATE, 7);

答案 1 :(得分:1)

使用Joda Time library。它很容易处理日期。

DateTime dt = new DateTime();

你可以加上几天,几个月,几年,找到documentation。这个goind在java 8中添加

答案 2 :(得分:1)

尝试使用“int days = Days.daysBetween(sqlDate,todaysDate).getDays();”并检查它是否大于7