java - 为什么我的时差总是为零?

标签 java date time calendar

为什么这个时间差总是0?基本上 startend 总是有相同的值。我试过使用 Calendar 而不是 Date。如果我使用 Duration 而不是 Date,我将无法比较 boolean temp = (diff>500);

private Date now=new Date();
private long start;
private long end;

public void ABC(){
   start = now.getTime();
   ...
   ...
   ...
   ...
   end = now.getTime();
   long diff = end - start;
   boolean temp = (diff>500);
   System.out.println(diff);  //This always outputs 0, basically start and end have same value always
}

最佳答案

因为是同一天。 now = new Date() 将日期设置为当前日期。 .getTime() 只是将日期转换为 long

据我了解,您想获取这两个变量的当前日期,因此您应该改用:

start = new Date().getTime();
end = new Date().getTime();

关于java - 为什么我的时差总是为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47388959/

相关文章:

java - Future.get() 不返回

JavaScript - 计算两个日期之间的差异(以年、日、小时或小于一小时为单位)

go - 如何在 Go 中解析 ISO 8601 时间戳?

php - 限制 Joomla 中每个用户 ID 24 小时的提交数量

php - 为什么这个查询异常长?

java - 我想在 Pod 内使用 Fabric8 kubernetes 客户端(java)。如何获取部署集群的 kubernetes 客户端?

java - "Throws"有什么作用,它有什么用?

java - 线程 "main"java.lang.Error 中的异常, Unresolved 编译问题

JavaScript 全局化 : How to compare two dates?

javascript - 如何在浏览器 Javascript 中创建另一个时区的日期