时差计算问题

时间:2013-08-05 16:07:59

标签: java

我的应用程序中有一个名为符号的表格,每隔 8 分钟会持续更新

符号表中的每条记录都有一个名称为 updated-at 的属性,其值为时间戳,如图所示

 "updated_at" : NumberLong("1375715967249")

我有一项任务是从符号表

向用户显示更新的数据

如果符号未更新9分钟,我需要执行特定任务并更新其他任务

我遵循这个逻辑,请告诉我这是否有任何循环漏洞? (我的意思是喜欢日常设置---或任何此类)

package com;

public class UnixTimeConversion {
    public static void main(String args[]) {
        long timeStamp = 1375715967249l;
        java.util.Date date = new java.util.Date();
        long currtime = date.getTime();
        if ((currtime - timeStamp) > 600000) {
            System.out.println("Greater than 10 minutes since executed");
        } else {
            System.out.println("Lesser than 10 minutes since executed");
        }
    }
}

2 个答案:

答案 0 :(得分:1)

UNIX时间戳不关心时区,UTC闰秒或其他任何内容。它只是一个线性测量时间流逝的数字。如果你不关心挂钟时间,也没问题。您只需要注意以正确的方式将源材料转换为UNIX时间戳。

答案 1 :(得分:1)

最好以这种方式尝试

    long timeStamp = 1375715967249l;
    long currTime = System.currentTimeMillis();
    if ((currTime - timeStamp) > 10*60*1000) {
        System.out.println("Greater than 10 minutes since executed");
    } else {
        System.out.println("Lesser than 10 minutes since executed");
    }

10min = 10 * 60 * 1000 ms