我期待在Java监控计算机时钟(分钟),并在每次改变时间断火的方法/线程的最佳途径。
因此,如果时间是13:20,并将其更改为13.21,然后做一些事情。 因此,任何时候有一个微小的变化部分代码被炒鱿鱼。
什么是听时钟更改的分钟的部分最好的方法是什么?
谢谢,理查德
我期待在Java监控计算机时钟(分钟),并在每次改变时间断火的方法/线程的最佳途径。
因此,如果时间是13:20,并将其更改为13.21,然后做一些事情。 因此,任何时候有一个微小的变化部分代码被炒鱿鱼。
什么是听时钟更改的分钟的部分最好的方法是什么?
谢谢,理查德
Date d = new Date(System.currentTimeMillis());
然后你就可以得到分钟d.getMinutes()
有一张支票在一个线程等待的价值运行d.getMinutes()
来改变。
在这种的TimerTask的事件处理程序安排新的再次发生TimerTask的运行每60,000毫秒。
int milisInAMinute = 60000; long time = System.currentTimeMillis(); Runnable update = new Runnable() { public void run() { // Do whatever you want to do when the minute changes } }; Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { update.run(); } }, time % milisInAMinute, milisInAMinute); // This will update for the current minute, it will be updated again in at most one minute. update.run();
听起来像是一份工作石英 。 您可以使用下面的cron表达式做到这一点:
0 * * * * ?