因为TimeTask,基本上是由timer来执行的。
_timer.schedule(TimeTask,date)
当前时间是2004-10-31 20:00:24
TimeTask任务时间是2004-11-01 00:00:00
测试失败:
先执行程序,
然后再修改系统时间为2004-11-01 01:00:00。
测试成功:
先修改系统时间为2004-10-01 23:58:00。
再执行程序
......
等待时间到2004-11-01 00:00:00
成功执行任务
我猜测,timer是声明使用后就开始算时间的!要不然TimeTask过时间后肯定执行的。