如何添加日期(在jlabel中设置)

时间:2014-09-29 14:14:46

标签: java swing

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { 
Date date3=null;
try {
date3 = new SimpleDateFormat("dd-MM-YYYY").parse(jLabel1.getText());
System.out.println(date3);       
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-YYYY");             
Calendar cal  = Calendar.getInstance();
cal.setTime(date3);
cal.add(Calendar.DATE, 1);
String expDateString = sdf.format(cal.getTime());
jLabel2.setText(expDateString);                   
} 
catch (ParseException ex)
{
Logger.getLogger(NewJFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}                                        

jlabel1输入值是:29-09-2014。>  添加1天。预计输出为:30-09-2014。(jlabel2)  但没有出现错误,输出显示:30-12-2014。(无意义)。

2 个答案:

答案 0 :(得分:1)

更改

dd-MM-YYYY

dd-MM-yyyy

由于您的格式String不正确,因此SimpleDateFormat Javadoc

Letter    Date or Time Component  Presentation    Examples
G         Era designator          Text            AD
y         Year                    Year            1996; 96
Y         Week year               Year            2009; 09

答案 1 :(得分:0)

您需要指定在您的案例中增加哪个字段。

Calendar对象具有以下方法:

public abstract void add(int field, int amount)

要在日历中添加1天,您可以执行以下操作:

cal.add(Calendar.DAY_OF_MONTH, 1);