java Calendar SimpleDateFormat格式化时间进行对比的问题
static Calendar cal=Calendar.getInstance();
SimpleDateFormat ftime=new SimpleDateFormat("HHmmss");//时间格式化不用年月日,只用时分秒就是可以
static Date nowTime=cal.getTime();
String st1="08:10:00";
String et1="10:50:00";
Date dst1 = ftime.parse(st1);
Date det1 = ftime.parse(et1);
if(nowTime.after(dst1)&&nowTime.before(det1)){
studytime =1;
System.out.println("222222");
}
这样比较得不到想要的结果,只有一个条件的时候就正常了
if(nowTime.after(dst1)){
studytime =1;
System.out.println("222222");
}
但是这样就不能判断当前时间是否在某个时间段内。怎么样判断当前时间在某个时间段内呢?
答案:因为你没有年月日,所以dst1默认为1979年1月1日08:10:00这个时间,
det1默认为1979年1月1日10:50:00这个时间,大概是1979年1月1日,我记得不太清楚
所以你的nowTime.after(dst1)永远为真,nowTime.before(det1)永远为假
你只能得到加上当前的年月日after和before才有可比性
其他:long date1= Date1.getTime();
long date2= Date2.getTime();
然后直接比较 你可以在比较之前加上:
dst1.setYear(cal.get(Calendar.YEAR));
dst2.setYear(cal.get(Calendar.YEAR));
上一个:java项目报。No suitable driver found for proxool.pool。。会是哪里的问题。。
下一个:java中为什么要有数据类型