これを取得するには、タイムスタンプと現在のタイムスタンプの差を計算する必要があります (簡単にするためにミリ秒単位にしてください)。結果は、「前」のミリ秒数になります。次に、引き算や割り算などの簡単な計算を使用すると、分、日、週など、必要な数を取得できます。
編集:私はこれを使用します:
public static final long MILLIS_PER_SECOND = 1000;
public static final long MILLIS_PER_MINUTE = (MILLIS_PER_SECOND * 60);
public static final long MILLIS_PER_HOUR = (MILLIS_PER_MINUTE * 60);
public static final long MILLIS_PER_DAY = (MILLIS_PER_HOUR * 24);
public static final long MILLIS_PER_WEEK = (MILLIS_PER_DAY * 7);
public static final long MILLIS_PER_MONTH = (MILLIS_PER_DAY * 30);
public static final long MILLIS_PER_YEAR = (MILLIS_PER_MONTH * 12);
これは 100% 正しいわけではないことに注意してください。これは、(意図的に単純化するために)月が常に 30 日という誤ったMILLIS_PER_YEAR
仮定を作成したためであり、これは にも影響します。しかし、私は本当に気にしません-私がこれらを使用するのはロケット科学ではありません. ただし、次のMILLIS_PER_YEAR
ように設定することで影響を軽減できます。
public static final long MILLIS_PER_YEAR = (MILLIS_PER_DAY * (7*31 + 4*30 + 28));
28
は 2 月の場合です。この場合、以前のバージョンの 5 日間ではなく、うるう年に 1 日間だけ休みになります。