我正在寻找 Java 中监视计算机时钟(分钟)并在每次更改时触发方法/线程的最佳方法。
因此,如果时间是 13:20 并且它更改为 13.21 则做一些事情。因此,任何时候只要有微小的变化,就会触发一些代码。
聆听时钟分钟部分的变化的最佳方式是什么?
谢谢,理查德
在该 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();
听起来像是Quartz的工作。您可以使用以下 cron 表达式执行此操作:
0 * * * * ?
Date d = new Date(System.currentTimeMillis());
然后你可以得到分钟d.getMinutes()
。在等待值d.getMinutes()
更改的线程中运行检查。