使用Timer
的schedule(TimerTask task, Date firstTime, long period)
方法时,如果firstTime早与当前时间,任务器会立刻执行。
不适用如下场景:
每天0点整运行:第一次运行后,间隔时间为一天
如果是在下午3点钟开始调用schedule方法,那么会立即执行,并且每天下午3点执行任务。
如果实现以上场景:
必须计算出第二天零点和当前时间差毫秒数
,然后使用schedule(TimerTask task, long delay, long period)
方法,将差值作为delay
传入,即会在第二天(和以后每天的)零点执行任务。