我正在從json的facebook圖形api中獲取時間(「2013-05-17T06:47:48 + 0000」),現在我想將其轉換爲小時跨度。如何將時間格式化爲時間跨度?
例如,如果某人在上述時間更新了自己的狀態,它會在2小時前向我們顯示或類似的內容。
那麼我如何轉換爲時間跨度?
需要幫助。
我正在從json的facebook圖形api中獲取時間(「2013-05-17T06:47:48 + 0000」),現在我想將其轉換爲小時跨度。如何將時間格式化爲時間跨度?
例如,如果某人在上述時間更新了自己的狀態,它會在2小時前向我們顯示或類似的內容。
那麼我如何轉換爲時間跨度?
需要幫助。
你可以試試這個:
try {
long delta = System.currentTimeMillis() - new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse("2013-05-17T06:47:48+0200").getTime();
String timeEllapsed = (delta/3600000) + "h " + ((delta/60000) % 60) + "min";
System.out.println("Time ellapsed : " + timeEllapsed);
} catch (Exception e) {
e.printStackTrace();
}
首先你應該知道你從服務器收到UTC時間。而你的用戶遍佈全球。所以你需要在UTC設備上獲取時間。
要計算任何時間跨度,我建議您閱讀此答案:Android time difference with joda time,它使用JodaTime庫。
解決方案:
可以使用JodaTime
庫,該庫從here下載。
例子:
我最近創建了一個小型演示應用程序,並上傳到我的GitHub的帳戶。
看看TimeStampDemo。它會根據您的問題要求輸出。
我希望它會有幫助!
您可以用'JodaTime'庫有效的結果,並使用其'Period'類,你就能得到'DurationFieldType.months()'和其他格式的結果也像年,日,分也。 –