Java事件监听器上的时钟分钟变化(Java Event Listener on Clock Min

2019-07-30 14:09发布

我期待在Java监控计算机时钟(分钟),并在每次改变时间断火的方法/线程的最佳途径。

因此,如果时间是13:20,并将其更改为13.21,然后做一些事情。 因此,任何时候有一个微小的变化部分代码被炒鱿鱼。

什么是听时钟更改的分钟的部分最好的方法是什么?

谢谢,理查德

Answer 1:

Date d = new Date(System.currentTimeMillis());

然后你就可以得到分钟d.getMinutes() 有一张支票在一个线程等待的价值运行d.getMinutes()来改变。



Answer 2:

  1. 使用System.currentTimeMillis的查找当前系统时间()
  2. 计算多少毫秒,直到下一分钟
  3. 安排在定时器一个TimerTask在数毫秒的未来运行
  4. 在这种的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(); 


Answer 3:

听起来像是一份工作石英 。 您可以使用下面的cron表达式做到这一点:

0 * * * * ?



文章来源: Java Event Listener on Clock Minute change
标签: java timer