注: この回答は Java 8 以降では正確ではない可能性が高く、現在はより優れた日付/カレンダー APIがあります。
標準的な代替手段は、Calendarオブジェクトを使用することです。
Calendar cal = Calendar.getInstance(); // that is NOW for the timezone configured on the computer.
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
Date date = cal.getTime();
Calendarライブラリを追加せずに利用できるという利点があり、広く理解されています。また、Javadocの文書化された代替手段でもあります。Date
のドキュメントはCalendarここにあります: Javadoc
Calendar(不注意な人にとって) 危険な点が 1 つあります。それはafter/beforeメソッドです。を受け取りますが、オブジェクトObjectのみCalendarを正しく処理します。これらのメソッドを使用する前に、Javadoc をよく読んでください。
1 日を追加する ( ) や、1 週間を「スクロール」する ( ) などCalendar、さまざまな方法でオブジェクトを変換できます。全体像を把握するには、Javadoc のクラスの説明を読んでください。cal.add(Calendar.DAY_OF_YEAR, 1);cal.roll(Calendar.DAY_OF_WEEK, 1);