참고 :이 답변은 더 이상 정확한 자바 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
은 추가 라이브러리없이 올 수있는 장점이 널리 이해된다. 또한
Calendar
의 문서는 여기에서 찾을 수 있습니다
Date
의 Javadoc에서 문서화 된 대안 : Javadoc
Calendar
이 (조심성) 하나 개의 위험 지점을 가지고 있으며, 그것은 after
/before
방법이다. 그들은 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 시부 터 같은 날에 생성 된 레코드를 검색한다. –