我正在尝试获取当前时间与存储在DB中的时间之间的差异。
我试过下面的代码,但是由于java.lang.System.currentTimeMillis()
返回,它没有给出正确的结果
UTC时间,我们以EST格式将日期保存到我们的应用程序。
代码:
java.lang.System.currentTimeMillis() - emp.getModifiedDate()
你能否建议我一个正确的方法呢?这对我很有帮助
由于
答案 0 :(得分:0)
System.currentTimeMillis()
返回自1970年1月1日UTC以来的毫秒数。这是时区不可知的。
如果您将数据库中的时间存储为毫秒,那么只需减去这两个数字即可得到正确的差异。
如果您以其他方式存储时间(例如作为字符串),您可以解析它(例如使用SimpleDateFormat
)以考虑时区,然后从中获取Date
你可以获得毫克。
答案 1 :(得分:0)
希望这有帮助!这将在几天内给你带来差异。
Date date1 = new Date();
long diff = date1.getTime() - emp.getModifiedDate().getTime();
System.out.println((int) (diff) / (1000 * 60 * 60 * 24)));
了解更多read this