如何验证java中的时间戳?
问题描述:
我有一个时间变量如何验证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语句如果时间已经过了一定的数量。
答
要检查两个日期相差在几分钟内,使用方法:
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()。
答
类似的东西:
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");
}
答
也许你正在检查的变量“时间”值包含的提前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")
答
我认为,如果你得到两个日历比如,你可以这样做:
Calendar variableInitialised = Calendar.getInstance();
之后,你把你的限制时间的情况下,
variableInitialised.add(Calendar.MINUTE, 5);
而且你改变如果是这样的话:
if(variableInitialised.after(Calendar.getInstance()))
答
您需要采取另一个'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
}
这会帮助你。 http://*.com/questions/2309558/time-comparison – 2015-03-03 10:55:27