Java 日历<;=另一个日历
从数据库获取日期Java 日历<;=另一个日历,java,calendar,Java,Calendar,从数据库获取日期 while (r.next()) { String rn = r.getString(3); String sqldate = r.getString(2); // database reservation date } DateFormat RD=新的简化格式(“yyyy-MM-dd”); java.sql.Date converteddate=new java.sql.Date(RD.parse(sqldate.getTime()); Calendar c
while (r.next()) {
String rn = r.getString(3);
String sqldate = r.getString(2); // database reservation date
}
DateFormat RD=新的简化格式(“yyyy-MM-dd”);
java.sql.Date converteddate=new java.sql.Date(RD.parse(sqldate.getTime());
Calendar cal=Calendar.getInstance();
Calendar cal1=Calendar.getInstance();
校准设定时间(转换日期);
计算添加(日历日期,7);
如果(cal日历具有可比性,您可以使用:
compareTo
如果参数表示的时间等于此日历表示的时间,则返回值0;如果此日历的时间早于参数表示的时间,则返回值小于0;如果此日历的时间晚于参数表示的时间,则返回值大于0
在您的情况下,要确定cal
是在cal1
之前还是等于
DateFormat RD = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date converteddate = new java.sql.Date(RD.parse(sqldate).getTime());
Calendar cal = Calendar.getInstance();
Calendar cal1 = Calendar.getInstance();
cal.setTime(converteddate);
cal.add(Calendar.DATE, 7);
if(cal<=cal1){ }// i need to this opration i dont know how
if(cal.compare)to(cal1)使用简单方法怎么样:
if (cal.compareTo(cal1) <= 0) {}
这句话是:“如果一个日期早于另一个日期,你应该做以下事情……”
我认为如果你写“before”比“compareTo”更容易阅读,即使操作是一样的
编辑:
我对答案进行了一些更新,以包含下面的注释,因此答案更完整。感谢assylias指出,但是如果您想比较某个日期是否早于或等于另一个日期,您应该使用:
if (cal.before(cal1)) { ... }
这是这样写的:“如果一个日期不在另一个日期之后,您应该执行以下操作…”还要注意,“不在之后”与“在之前或等于之前”相同。注意,在之前等于cal.compareTo(cal1)<0
,而不是cal.compareTo(cal1)@assylias谢谢你指出这一点。我已经更新了答案以包含这一点,因此这是一个更完整的答案。如何检查今天是b在cal1和cal2之间?if(今天。在(cal1)之后和&今天。在(cal2)之前){…}
如果您想知道今天是否介于cal1和cal2之间。您能解释一下0的工作吗?您是否单击了我提供的链接?“compareTo如果参数表示的时间等于此日历表示的时间,则返回值0;如果此日历的时间在参数表示的时间之前,则返回值小于0;如果此日历的时间在参数表示的时间之后,则返回值大于0。”。“谢谢,我还有一个问题,如何检查今天是B在cal1 cal2之间?今天进入cal1并检查cal1
if (!cal.after(cal1)) { ... }