我試圖迭代通過日期而沒有成功,因爲發生了inifite循環,並且它不會停止在數據庫中創建記錄。爲什麼?無限循環嘗試遍歷Java中的日期
我有以下的方法,作爲參數傳遞的日期增加1,然後返回它更新。
public static Date addDays(Date date, int days) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days);
return cal.getTime();
}
然後,我用它在一個for循環這樣...
for (Date initDate = fromDate; initDate.before(toDate); addDays(initDate, 1)) {
// Do something...
}
沒有fromdate和todate是從一個JTextField值解析成sql.Date這種方式。
private java.sql.Date fechaParser(String f) {
SimpleDateFormat formatDate = new SimpleDateFormat("dd/MM/yyyy");
Date date;
try {
date = formatDate.parse(f);
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
return sqlDate;
} catch (ParseException e) {
JOptionPane.showMessageDialog(null, "Wrong date format.");
e.printStackTrace();
}
return null;
}
'initDate = addDays(initDate,1)'? – MadProgrammer