Java笔记-以系统时间为基准15分钟运行一次指定代码

这个思路比较好,在此记录下,在java里面比较鸡肋,毕竟有很多大框架直接完成了工作。

但在C/C++里面这个思路就比较重要了。在此记录下。

 

 

如下代码:

while(true){

    long time = System.currentTimeMillis();
    int is15Min = (int)((time - 1602259200000l) % (15 * 60 * 1000));
    int is1Min = (int)((time - 1602259200000l) % (1 * 60 * 1000));

    //1分钟
    System.out.println("is1Min:" +  is1Min);
    if(is1Min < 10 * 1000){
        
        //TODO 
    }
    
    if((is15Min < 60 * 1000)){
     
        //TODO
    }
    
    //TODO
}

这里的:1602259200000为

先减去上面那个值,在和15分钟取模,当为整点时这个值为0,但越远时,这个值越大。

一般我们可以这样写。当要一分钟调用一次时,is1Min < 10 * 1000。然后里面在sleep 10秒就可以了。

同样如果15分钟,就如上所示。

 

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页