基于时间的Java计算

时间:2014-03-27 20:21:15

标签: java time

我正在创建一个每分钟进行一次计算的程序。我不知道如何有效地做到这一点,但这是我到目前为止编写的一些伪代码:

 stockCalcTimerH = System.currentTimeMillis() - 1;
    stockCalcTimerI = stockCalcTimerH;
    stockCalcTimer = System.currentTimeMillis();

    if (stockCalcTimerI < stockCalcTimer) {
      *do calcuations*
     stockCalcTimerI + 60000;

当我在屏幕上打印出两个值时,它出现如下:

stockCalcTimerI = 1395951070595 stockCalcTimer = 1395951010596

它只减去数字,并且不会增加60000毫秒...... 我是Java的新手,但任何反馈都有帮助。

感谢您阅读!!

2 个答案:

答案 0 :(得分:2)

stockCalcTimerI + 60000;

新值永远不会分配给变量。

将其更改为:

stockCalcTimerI += 60000;

相同
stockCalcTimerI = stockCalcTimerI + 60000;

答案 1 :(得分:0)

您可以使用java.util.Timer课程来安排跑步。

TimerTask task = new TimerTask() {
    @Override public void run() {
        // do calculations
    }
};
int delay = 0;          // no delay, execute immediately
int interval = 60*1000; // every minute
new Timer().scheduleAtFixedRate(task, delay, interval);