我有一个类似于预订系统的页面,在我的页面中我导入了 java 类,其中包含一种检测预订是否过期、验证或使用的方法。
对于已验证和使用的我没有问题,但是对于过期的(使用后未过期,但在一段时间后未验证过期)我遇到了这个问题:
我预订了 2013 年 6 月 11 日使用的房间,我没有验证它。然后将系统日期更改为 15-06-2013,我尝试刷新网页,但它不会将图书条目更新为“已过期”。但是,如果我运行 java 类,它会更新书籍条目。JSP 不能识别我的系统日期的变化吗?
信息:我的过期时间是指预订超过一天未验证。
编辑:这是一些代码
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
String code, status, count, standard, deluxe, superiors, superiord;
Date dateNow, dateIn, dateOut;
dateNow = cal.getTime();
rs = db.view("select * from booking");
try {
while (rs.next()) {
code = rs.getString("code");
standard = rs.getString("standard");
deluxe = rs.getString("deluxe");
superiors = rs.getString("superiors");
superiord = rs.getString("superiord");
status = rs.getString("status");
count = rs.getString("isCount");
dateIn = dateFormat.parse(rs.getString("datein").toString());
dateOut = dateFormat.parse(rs.getString("dateout").toString());
if (dateNow.equals(dateIn)) { //This is after being validated
if (status.equalsIgnoreCase("Paid")) {
if (count.equalsIgnoreCase("False")) {
db.insert("update room set standard=standard-" + standard + ", deluxe=deluxe-" + deluxe + ", superiors=superiors-" + superiors + ", superiord=superiord-" + superiord + "");
db.insert("update booking set status='Being used', isCount='True' where code='" + code + "'");
}
}
} else if (dateNow.after(dateIn)) { //This is expired one
if (status.equalsIgnoreCase("Waiting")) {
db.insert("delete from booking where code='" + code + "'");
}
} else if (dateNow.after(dateOut)) { //This is after being used or finished
if (status.equalsIgnoreCase("Dipakai")) {
db.insert("update kamar set standard=standard+" + standard + ", deluxe=deluxe+" + deluxe + ", superiors=superiors+" + superiors + ", superiord=superiord+" + superiord);
db.insert("update pesan set status='Selesai' where code='" + code + "'");
}
}
}
} catch (Exception e) {
}
在我将系统日期更改为未来之后,我的页面无法读取第二个 if(过期)。