class calendarNDListener implements ActionListener{
public void actionPerformed(ActionEvent e){
calendar = new GregorianCalendar();
format = new SimpleDateFormat("dd/MM");
date = new Date();
calendar.setTime(date);
calendar.add(calendar.DATE, 1);
date = calendar.getTime();
dag.setText(format.format(date));
}
当我点击具有'calendarNDListener'ActionListener的按钮时,它会在'dag'标签上添加一天。但这只做了一次。如果我想再提前一天,它什么都不做。 我想要的是,当你点击按钮时,它会在标签日期添加一天。但是,如果我再次单击它,它会在上一个日期(已添加一天的日期)中添加一天。它现在提前2天。
我想要的: 今天是28/03。当我点击按钮时,它会转到29/03。当我再次点击它时,它会转到30/03,依此类推。
现在做什么: 今天是28/03。当我点击按钮时,它会转到29/03。当我再次点击它时,它将保持在29/03。
我希望这很清楚,听起来可能会令人困惑。 请记住,我仍然是Java编程的初学者。
答案 0 :(得分:0)
public class DateUtil
{
public static Date addDays(Date date, int days)
{
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days); //minus number would decrement the days
return cal.getTime();
}
}
要为每次点击添加一天,请按以下方式调用:
String sourceDate = "2012-02-29";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date myDate = format.parse(sourceDate);
myDate = DateUtil.addDays(myDate, 1);