我想查找给定时间戳和当前系统时间之间的差异。查找两个时间戳之间的差异
我的代码,
DIFF我得到的不是我expacting。
Ex。 (1500462813 * 1000)-1500290013000 = 172800000
这是日期1975年6月24日的,上午5时30分〇〇秒 我期待2017年7月19日,下午4点43分33秒。
想要找到当前系统时间和给定时间戳之间的差异,以运行剩余时间的计时器。
我想查找给定时间戳和当前系统时间之间的差异。查找两个时间戳之间的差异
我的代码,
DIFF我得到的不是我expacting。
Ex。 (1500462813 * 1000)-1500290013000 = 172800000
这是日期1975年6月24日的,上午5时30分〇〇秒 我期待2017年7月19日,下午4点43分33秒。
想要找到当前系统时间和给定时间戳之间的差异,以运行剩余时间的计时器。
试试这个方法:
public static long getDateDiff(long timeUpdate, long timeNow, TimeUnit timeUnit)
{
long diffInMillies = Math.abs(timeNow- timeUpdate);
return timeUnit.convert(diffInMillies, TimeUnit.MILLISECONDS);
}
它给你任何单位(天,年,...)的差异。
long timestamp1 = 1500462813000;
long timestamp2 = System.currentTimeMillis();
long diffInDays = getDateDiff(timestamp1, timestamp2, TimeUnit.DAYS);
本答案使用现在遗留的麻烦的旧日期时间类,由java.time类代替。 –
你是对的 - 我编辑了我的答案 - 它也没有日期工作。只需要时间戳。 –
尝试:
long diff= System.currentTimeMillis() - givenTimeStamp;
解释会很好。你怎么知道这真的回答了这个问题? –
@TimBiegeleisen你还不明白的问题 –
我认为你应该找到这样
long timeStamp=System.currentTimeMillis();
long diff=(timeStamp-1500462813000);
System.currentTimeMillis()
的差异会比你现在
首先,我看到你正在使用的基本类型总是更大long
和Long
。这不是一个好主意。如果你没有很好的理由使用这个类,那么只需使用long
即可。
您初始化类Long
一个整数:
Long timeStamp=1500462813;
这实际上是一个编译器错误。所以你的代码不能被编译。
如果我理解你的问题是正确的,你希望剩下的时间到达日期。你实际上得到它。以毫秒为单位。您的结果是保留在时间戳日期的时间。
这个结果本身不是Date
。这只是毫秒到你想要的日期。
你会得到什么,你期望什么? –
两个时间戳之间的差异不是日期。这是......不同之处。 –
如何找到时间戳的差异? –