2011-07-22 22 views
1

私はsql.Timestampオブジェクトを持っています。これを現在の時刻から45分を差し引いて比較する必要があります。タイムスタンプと現在の時刻との時間を比較する方法

私は、タイムスタンプがjava.util.Dateを拡張するので、私はcompareToメソッドを使うべきであることを知っています。どのようにするか分からないのは、現在の時刻よりも45分少ない日付オブジェクトを作成することです。

答えて

2

タイムスタンプ(および日付)オブジェクトを用いて、コンストラクタとしてlong型の値を渡すことによって構築することができる1月1日からのミリ秒数を表す値は、ミリ秒の1/1000分である 、前記45分は45 * 60 * 1000ミリ秒になります。 2つのTimestampインスタンスを作成するだけです(タイムスタンプインスタンスをまだ持っていない場合は比較する時間を表すlong値と45分前の時刻を表すlong値を使用するインスタンス(System.currentTimeMillis() - (45 * 60 * 1000))、それらを比較してください。

+1

また、TimeUnitクラスを使用して分単位からミリ秒単位に変換することもできます。 TimeUnit.MINUTES.toMillis(45) –

3

これは過度の可能性がありますが、タイムスタンプと現在時刻の2つのカレンダーインスタンスを作成し、後者から45分を差し引いて比較することができます。

Calendar then = Calendar.getInstance(); 
then.setTime(timestamp); 
Calendar now = Calendar.getInstance(); 
now.add(Calendar.MINUTE, -45); 
int diff = now.compareTo(then); 
// ... 
関連する問題