java Calendar roll 和add 方法的区别

今天早上发生一起崩溃的事件,定时任务无限制的跑,之前的设计规则是:如果发现数据库有大于等于当前天的数据就不跑定时任务了,但是我的日期选择是 time >=to_date('20131231','yyyy-MM-dd') and time <to_date('20130101','yyyy-MM-dd') ,而后面那个‘20130101’日期就是因为使用了Calendar的roll方法,c.roll(Calendar.DAY_OF_YEAR,1),导致查不到数据,定时任务任务今天没有发数据,就一直发。。。。。

 Calendar的add 和roll方法的区别

(1)roll方法只是对相应时间属性的域内做变化,如对月份使用roll方法,它会在1-12的范围内变化,不会影响的年,对于跨年问题,最好别用roll方法。

2)add方法会产生其他相关时间属性的连动变化(推荐使用)


你可能感兴趣的:(java,calendar,add)