【问题标题】:Java calendar date adding and calculationJava日历日期添加和计算
【发布时间】:2012-10-18 06:17:06
【问题描述】:
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 日期和当前日期之间。

【问题讨论】:

  • 为什么要将日期作为 字符串 获取?为什么要手动格式化日历中的值而不是使用 SimpleDateFormatter?
  • "help PLZZ" 请正确拼写单词。我要去帮助其他这样做的人,让你有时间考虑。
  • 我需要在 SQL 日期 ( 2012-10-05 +7 ) 上增加 7 天,并且需要检查这些天是否在 SQL 日期和当前日期之间。 SQL 将日期作为字符串提供给你,不是吗?
  • 有什么方法可以在java.calender中添加Sql日期吗?

标签: java sql date servlets calendar


【解决方案1】:

您需要解析您的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 实例:-

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

【讨论】:

  • @user1750832 不客气。但是您应该使用JodaTime,这将使您在使用 Dates 时的生活更加轻松。
  • 日历 cal = Calendar.getInstance();日历 cal1 = Calendar.getInstance(); cal.setTime(converteddate); cal.add(日历.DATE, 7); if(cal
  • @user1750832。 if (cal.getTimeInMillis() <= cal1.getTimeInMillis())
  • @user1750832 或者,cal.compareTo(cal1) <= 0
【解决方案2】:

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

DateTime dt = new DateTime();

您可以加上天、月、年并找到documentation。这将在 java 8 中添加

【讨论】:

  • 但是如何将 Sql 日期添加到该日历中?
  • java.sql.Datejava.util.Datejava.util.Date utilDate =sqlDate; cl.seTime(utilDate); 的子类
  • 我需要获取 SQLDATE+7days BETWEEN 当前日期的日期范围,有什么想法吗?
  • java.util.Date 只采用日期对象我们如何添加字符串?
  • 使用SimpleDateFormat类。
【解决方案3】:

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

【讨论】:

  • 我找不到 Days.daysBetween(sqlDate, todaysDate).getDays();这个方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-02
相关资源
最近更新 更多