我想查找給定時間戳和當前系統時間之間的差異。查找兩個時間戳之間的差異
我的代碼,
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
。這只是毫秒到你想要的日期。
你會得到什麼,你期望什麼? –
兩個時間戳之間的差異不是日期。這是......不同之處。 –
如何找到時間戳的差異? –