日付の時間パスのみを更新する方法はありますか? 試してみDate.setTime()
ましたが、日付パスも置き換えます。Javaメソッドがありますか、それとも時、分、秒、ミリ秒を設定する唯一の方法ですか?
ありがとうございました
Javaは、エポック (1970 年 1 月 1 日) から時間をカウントDate
する の単なるラッパーです。long
は、はるかに柔軟ですCalendar
。Calendar
からを作成できますDate
:
Date date = . . .;
Calendar cal = new GregorianCalendar();
cal.setTime(date);
次に、のさまざまなフィールドを設定できますCalendar
。
cal.set(Calendar.HOUR_OF_DAY, 8);
// etc.
java.util.Date
私は完全に離れることから始めます。理想的には、はるかに優れた日付/時刻ライブラリであるJoda Timeを使用してください。
それ以外の場合は、を使用する必要がありますjava.util.Calendar
。関心のあるタイムゾーンを決定するまで、特定の日付/時刻java.util.Date
はありません。これは、世界中のさまざまな人々が異なる日付と時刻であると見なす瞬間を表すだけです。
java.util.Calenderを見てみましょう。
日付/時刻の個々の部分を変更できます。
Calendar cal = Calender.getInstance();
cal.setTime(date);
cal.set(Calender.HOUR, hour);
または、すでに提案されているように、Joda Timeを見てみましょう