注:この答えは、もはや正確なJavaの8のために以降は、今better date/calendar APIがある可能性が高いです。
標準代替品はCalendar
オブジェクトを使用しています。
Calendar cal = Calendar.getInstance(); // that is NOW for the timezone configured on the computer.
cal.set(Calendar.HOUR, 0);
cal.set(Calendar.MINUTES, 0);
cal.set(Calendar.SECONDS, 0);
Date startingDate = cal.getTime();
Calendar
追加のライブラリなしで来るという利点があり、広く理解されています。 Javadoc
Calendar
は(不注意のために)1つの危険なポイントを持っており、それがafter
/before
方法である:それはまたCalendar
のドキュメントはここで見つけることができますDate
のJavadocから文書化代替手段です。彼らはObject
を受け取りますが、Calendar
のオブジェクトだけが正しく処理されます。これらのメソッドについては、使用する前にJavadocをよくお読みください。
Calendar
オブジェクトをある日(cal.add(Calendar.DAY_OF_YEAR, 1);
)または「スクロール」を週(cal.roll(Calendar.DAY_OF_WEEK, 1);
)などのように変換することができます。 Javadocでクラスの説明を読んで完全な画像を取得してください。
Date date = new DateMidnight().toDate(); // today at 00:00
に-ことDateMidnight
廃止予定のないようにするには:
javadocを読んでください...明らかに、 'Calendar.set'メソッドは置換されています – sanbhat
もっと抽象的な記述があれば、より直接的なアドバイスが可能です。 –
私は、これらの日付変数をHibernateクエリで使用して、午前12:00から同じ日に作成されたレコードを検索しています。 –