当前位置:编程学习 > JAVA >>

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中为什么要有数据类型

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,