如何将两个整数值作为年份和月份添加到日期变量?

时间:2014-08-27 17:22:04

标签: java sql date netbeans

我正在使用NetBeans IDE 8.0 beta。

我有两个整数,从数据库表中获取值。

int year, month;
try{
      string sql = "select * from item where item_id = i001";
      pst = conn.prepareStatement(sql);
      rs = pst.executeQuery();

      rs.next();
      year = Integer.parseInt(rs.getString("warr_years"));
      month = Integer.parseInt(rs.getString("warr_months"));

}
catch(SQLException e){
}

我有一个String变量,它保存当前日期。

        DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd");
        Date date = new Date();
        String d = dateFormat.format(date);

现在我需要将年份和月份添加到日期。 任何人都可以帮我这个吗?

2 个答案:

答案 0 :(得分:3)

你需要Calender才能做到这一点。

Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.YEAR, year);
c.add(Calendar.MONTH, month);
Date newDate = c.getTime();

答案 1 :(得分:1)

首先,您的year格式已关闭。这是“yyyy”而非“YYYY”。接下来,您可以使用Calendar

int year = 10;
int month = 2;
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.add(Calendar.YEAR, year);  // <-- add year years to the Calendar.
cal.add(Calendar.MONTH, month);// <-- add month months to the Calendar.
System.out.println(dateFormat.format(cal.getTime())); // <-- display the result

以上代码输出(今天,2014年8月27日) -

2024-10-27