Lưu ý: Câu trả lời này rất có thể không còn chính xác cho Java 8 và hơn thế nữa, có một better date/calendar API bây giờ.
Phương án thay thế tiêu chuẩn đang sử dụng đối tượng 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
có lợi thế khi không có thư viện bổ sung và được hiểu rộng rãi. Đây cũng là lựa chọn tài liệu từ Javadoc của Date
Các tài liệu của Calendar
có thể được tìm thấy ở đây: Javadoc
Calendar
có một điểm nguy hiểm (đối với không thận trọng) và đó là after
/before
phương pháp. Họ lấy một số Object
nhưng sẽ chỉ xử lý chính xác các đối tượng Calendar
. Hãy chắc chắn để đọc Javadoc cho các phương pháp này chặt chẽ trước khi sử dụng chúng.
Bạn có thể chuyển đổi Calendar
Đối tượng theo cách tương tự như thêm ngày (cal.add(Calendar.DAY_OF_YEAR, 1);
) hoặc "cuộn" trong tuần (cal.roll(Calendar.DAY_OF_WEEK, 1);
) và các loại tương tự. Hãy đọc mô tả lớp học trong Javadoc để có được bức tranh đầy đủ.
Nguồn
2013-09-23 11:53:36
Vui lòng đọc javadoc ... đề cập rõ ràng rằng phương thức 'Lịch.set' là thay thế – sanbhat
Nếu bạn mô tả trừu tượng hơn những gì bạn muốn làm, bạn có thể đưa ra lời khuyên trực tiếp hơn. –
Tôi đang sử dụng biến ngày này trong truy vấn Hibernate để tìm kiếm các bản ghi được tạo vào cùng ngày bắt đầu từ 12:00 sáng. –