windows下,程序中使用了几个javax.swing.timer定时器。 定时器启动后正常,此时把操作系统时间往前改,比如改到昨天,发现所有的定时器都停止触发了,把操作系统时间往后改没关系。各位高手有碰到过这种情况吗?该怎么解决?

解决方案 »

  1.   

    to:zzhzzh204553(真的好想你)。如果用户运行程序后,又修改系统时间怎么办?不能限制用户不改系统时间吧
      

  2.   

    你可以换一种方法,不要用计时器触发,自己sleep()或者wait();
    比如要隔一个小时运行一次:
     while(true){
         //todo ....
         ....
         //do end
         wait(60*60*1000);
     }
      

  3.   

    不过,我不清楚wait()或者sleep()是不是也和系统有关。
    如果也是相关的那就不行了。
      

  4.   

    嗯。sleep可以的。 帖子保留两天,看有没有更好的办法,难道java的定时器就没有想到系统时间会改的问题?