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. (бессмысленно).
+ Изменить
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
Вам нужно указать, какое поле будет увеличиваться в вашем случае.
Объект Calendar имеет следующий метод:
public abstract void add(int field, int amount)
Чтобы добавить 1 день в свой Календарь, вы можете сделать это:
cal.add(Calendar.DAY_OF_MONTH, 1);