如何验证java中的时间戳?

时间:2015-03-03 10:39:09

标签: java

我有一个时间变量

long time = (new Date()).getTime();

我将如何对此执行if语句?例如

if (time is over 5 minute)
    system.out.println("time is up")
else
   system.out.println("OK TIME")

我想测试时间,看看如果变量初始化后已经过了一分钟,那么如果时间超过一定数量,则执行if语句。

5 个答案:

答案 0 :(得分:2)

可能你正在检查变量“time”的值是否包含5分钟前的毫秒数。

long time = (new Date()).getTime();

long currentTime = System.currentTimeInMillis();
long fiveMinutesInMilliSeconds = 5 * 60 * 1000L;

if((time + fiveMinutesInMilliSeconds) <= currentTime )
     System.out.println("Time's Up!);
else
     system.out.println("OK TIME")

答案 1 :(得分:0)

要在几分钟内检查两个日期的差异,请使用:

Date dateBefore = new Date();

//some computing...

Date dateAfter = new Date();

long timeInMinutes = (dateAfter.getTime()/60000) - (dateBefore.getTime()/60000);
if (timeInMinutes > 5) {
//something
} else {
//something
}

如果您需要更精确的结果(例如某些诊断),您应该使用System.nanoTime()。

答案 2 :(得分:0)

类似的东西:

public static void main(String[] args) throws IOException, InterruptedException {

    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    cal.add(Calendar.MINUTE, 1);

    System.out.println(new Date());

    while(System.currentTimeMillis() < cal.getTimeInMillis()){
        System.out.println("not" + new Date());
        Thread.sleep(1000);
    }

    System.out.println("done"); 
}

答案 3 :(得分:0)

如果您获得两个日历实例,我认为您可以这样做:

Calendar variableInitialised = Calendar.getInstance();

之后,您将限制时间添加到实例

variableInitialised.add(Calendar.MINUTE, 5);

你改变了你的IF:

if(variableInitialised.after(Calendar.getInstance()))

答案 4 :(得分:0)

您需要使用另一个'startTime'变量来指示开始时间。 然后,您可以计算CurrentTime和StartTime之间的差异。 在'if'子句中使用这种差异。

                // has to be the time in past
                // Following constructor of Date is depricated. 
                // Use some other constructor. I added it for simplicity.
                long startTime = new Date(2015, 3, 3).getTime();
                long currentTime = new Date().getTime();

                long timeDiff = currentTime - startTime;
                long fiveMinutes = 300000; // 5 minutes in milliseconds
                if(timeDiff > fiveMinutes){
                    // TODO
                }