アプリケーションに購入日を保存するために UNIX タイムスタンプを使用しています。サンプルデータ: 1371463066
日数と現在のタイムスタンプの違いに基づいて操作を行いたいです。例: 購入日と現在の日付の間の日数が 5 日である場合、フィードバックに関する電子メールを再度送信します。
javaを使用して2つのタイムスタンプ間の日数の差を取得する方法は?
私はそれをテストしていませんが、次のようなことを試みることができます:
Date purchasedDate = new Date ();
//multiply the timestampt with 1000 as java expects the time in milliseconds
purchasedDate.setTime((long)purchasedtime*1000);
Date currentDate = new Date ();
currentDate .setTime((long)currentTime*1000);
//To calculate the days difference between two dates
int diffInDays = (int)( (currentDate.getTime() - purchasedDate.getTime())
/ (1000 * 60 * 60 * 24) )
カレンダーで試すことができます(タイムゾーンも使用できます):
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(1371427200l * 1000l);
Calendar newCalendar = Calendar.getInstance();
newCalendar.setTimeInMillis(1371527200l * 1000l);
// prints the difference in days between newCalendar and calendar
System.out.println(newCalendar.get(Calendar.DAY_OF_YEAR) - calendar.get(Calendar.DAY_OF_YEAR));
出力:
1