Tiếp tục từ chương trình Java câu hỏi Stack Overflow để có được ngày hiện tại mà không có dấu thời gian :
Cách hiệu quả nhất để có được một đối tượng Date mà không có thời gian là gì? Có cách nào khác ngoài hai?
// Method 1
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dateWithoutTime = sdf.parse(sdf.format(new Date()));
// Method 2
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 0);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MILLISECOND, 0);
dateWithoutTime = cal.getTime();
Cập nhật :
Tôi biết về Joda-Time ; Tôi chỉ cố gắng tránh thư viện bổ sung cho một nhiệm vụ đơn giản (tôi nghĩ) như vậy. Nhưng dựa trên các câu trả lời cho đến nay Joda-Time có vẻ cực kỳ phổ biến, vì vậy tôi có thể xem xét nó.
Bằng cách hiệu quả , ý tôi là tôi muốn tránh
String
việc tạo đối tượng tạm thời như được sử dụngmethod 1
, trong khi đómethod 2
có vẻ như là một hack thay vì một giải pháp.