我试图找出日期是否在两个特定日期之间。我正在使用日历库来表示日期。我的代码:
public static void double getnumber(Calendar cal){
Calendar cred1 = Calendar.getInstance();
Calendar cred2 = Calendar.getInstance();
cred1.set(Calendar.JANUARY, 21, 2012);
cred2.set(Calendar.FEBRUARY, 8, 2012);
if(cal.after(cred1) && cal.before(cred2)){
System.out.println("case 1");
}
else{
System.out.println("case 2");
}
}
我正在测试的日期是:
Calendar test = Calendar.getInstance();
test.set(Calendar.JANUARY, 25, 2012);
getnumber(test);
我的问题是,当我测试该日期时,应用程序始终打印“案例2”时应打印“案例1”。有什么想法吗?任何帮助都非常感谢,因为我已经尝试了一切,但似乎没有任何工作,谢谢。
答案 0 :(得分:3)
The javadoc of Calendar.set(int, int, int)说:
public final void set(int year,
int month,
int date)
Sets the values for the fields year, month, and date.
您设置了月 - 日 - 年:这不是正确的顺序
答案 1 :(得分:1)
这就是为什么:这是Calendar.set的方法
public final void set(int year, int month, int date)
{
set(YEAR, year);
set(MONTH, month);
set(DATE, date);
}
答案 2 :(得分:1)
你有set
的论据是错误的。请参阅docs。