EDIT2:
これは、Date
時間の異なる 2 つのオブジェクトを作成し、後でそれらを比較する方法です。
Calendar calendar = Calendar.getInstance(); // By default the date and time is set to now
// Create first date
calendar.set(Calendar.HOUR_OF_DAY, 20);
calendar.set(Calendar.MINUTE, 5);
Date dateOne = calendar.getTime();
// Create second date
calendar.set(Calendar.HOUR_OF_DAY, 17);
calendar.set(Calendar.MINUTE, 36);
Date dateTwo = calendar.getTime();
// With before() you can check if a Date is before some other date
if(dateOne.before(dateTwo)) {
// dateOne is before dateTwo
} else {
// dateTwo is before dateOne
}
一部が他の後after()
に続くかどうかを確認するために使用することもできます。Date
Date
編集:
Long
質問の最後の段落であなたが話しているその値は、ミリ秒単位のエポック時間です。Time
フレームワークからこのクラスを使用するべきではありません。私はあなたがこれを意味すると思いますか?以下に投稿したソリューションを使用する必要があります。
元の答え:
Date
私は主にオブジェクトをコンテナとして使用する傾向があります。Date
インスタンスを作成するベスト プラクティスは、Calendar
オブジェクトを使用することです。次のようなことを試してください:
// We get a Calendar instance with getInstance();
Calendar calendar = Calendar.getInstance();
// Now we set the date we want.
calendar.set(Calendar.YEAR, 2014);
calendar.set(Calendar.MONTH, 4); // Be carefull, months start at 0. January = 0, Feburary = 1, March = 2,...
calendar.set(Calendar.DAY_OF_MONTH, 29);
calendar.set(Calendar.HOUR_OF_DAY, 20);
calendar.set(Calendar.MINUTE, 5);
// And finally we create the `Date` instance with getTime()
Date date = calendar.getTime();
// You can also do the reverse and set the time in a `Calendar` instance from a `Date` instance.
calendar.setTime(date);
これは非常にシンプルでCalendar
非常に強力ですが、あなたには適していないと思います。このソリューションはDate
オブジェクトを作成するためです。そのため、時間や分だけでなく、はるかに多くの情報を保存できます。
それがあなたの状況に当てはまるかどうかを判断する必要があります。本当に時間と分を保存したいだけなら、次のTime
ようなカスタムクラスを作成することをお勧めします:
public class Time {
private int minute;
private int hour;
public int getMinute() {
return minute;
}
public void setMinute(int minute) {
this.minute = minute;
}
public int getHour() {
return hour;
}
public void setHour(int hour) {
this.hour = hour;
}
}
必要に応じて、このTime
クラスに検証と計算を追加することもできますが、これも何をしたいかによって異なります。
より正確な回答を提供できます。どのような種類の時間値を保存する必要があるかについて詳しく教えていただければ、より正確には日付情報も保存する必要がありますか?