2014-08-27 62 views
3

我正在使用NetBeans IDE 8.0测试版。如何将两个整数值作为年份和月份添加到日期变量中?

我有2个整数与从数据库表中获得的值。

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){ 
} 

而且我有一个字符串变量保存当前日期。

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

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

+0

新的SimpleDateFormat( “DD”);并添加到你的年月 – 2014-08-27 17:24:40

+1

Java 8已经极大地改进了这种处理,从JODA借用。新的课程。 – 2014-08-27 17:27:18

回答

3

你需要一个Calender来做到这一点。

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

希望能解决你的问题:) – 2014-08-27 17:38:43

+1

谢谢!它做了!做得好! :) – amzer 2014-08-27 18:13:30

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年第27号) -

2024-10-27 
+0

谢谢!有效! – amzer 2014-08-27 18:13:59

相关问题