如何检查日期是否已从列表中通过日期?在java中

时间:2012-10-23 14:58:58

标签: java date

好吧,我所拥有的是ScheduledExxecutorService,如果日期列表中的日期已过,则每秒检查一次,代码:

public void dateCheckinator(){
        ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
        Runnable r = new Runnable() {
            @Override
            public void run() {
                Calendar cal = Calendar.getInstance();
                for(int i=0;i<dateList.size();i++){
                    if (cal.getTime()>dateList.get(i)){
                        kaladeList.add(kaladeList.get(i));
                    kaladeListats.add(kaladeListats.get(i));
                    }
                }
                System.out.println(cal.getTime());
            }
        };
        scheduler.scheduleAtFixedRate(r, 1, 1, TimeUnit.SECONDS);
    }

但是我在if语句中收到错误,如何检查日期是否已过?我会将调度程序更改为每分钟左右检查一次,而不是几秒钟后。

1 个答案:

答案 0 :(得分:6)

在Java中,您应该使用afterbefore方法。

if (cal.getTime().after(dateList.get(i))){
   kaladeList.add(kaladeList.get(i));
   kaladeListats.add(kaladeListats.get(i));
}