これは単純/重複した質問かもしれませんが、どういうわけか計算できません
こんにちは、私は今日のツイッター フィードをツイート時間と共に取得しており、表示する場所に基づいてそれらの時間の差を計算する必要があります。これはサンプルの日付Sun Jul 21 21:14:40 +0000 2013
で、現在の時刻との時間差を計算する必要があります。
したがって、最初に行うことは、その文字列を日付に解析することです。
Date postDate = new java.text.SimpleDateFormat("E MMM d HH:mm:ss Z yyyy")
.parse("Sun Jul 21 21:14:40 +0000 2013");
これで、投稿日と現在の日付の差をミリ秒単位で取得できます。
long diffMSec = new Date().getTime() - postDate.getTime();
最後に、ミリ秒を時間またはその他の時間単位に変換できます。
int diffHours = diffMSec / (1000*60*60);
日付は、文字列として表される場合にのみタイム ゾーンを持つことに注意してください。内部的には、1980 年 1 月 1 日の午前 0 時 (UTC) からのミリ秒として保存されます。そのため、(タイム ゾーンを使用して) 文字列を日付に解析し、2 つの日付の差分を計算することで、タイム ゾーンの違いが処理されます。