การดำเนินการต่อจากโปรแกรม Stack Overflow คำถามJava เพื่อรับวันที่ปัจจุบันโดยไม่มีการประทับเวลา :
วิธีที่มีประสิทธิภาพมากที่สุดในการรับวัตถุวันที่ไม่มีเวลาคืออะไร? มีวิธีอื่นนอกเหนือจากสองสิ่งนี้หรือไม่?
// 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();
อัปเดต :
ฉันรู้เกี่ยวกับJoda-Time ; ฉันแค่พยายามหลีกเลี่ยงห้องสมุดเพิ่มเติมสำหรับงานง่าย ๆ (ฉันคิดว่า) แต่จากคำตอบจนถึงตอนนี้ Joda-Time นั้นได้รับความนิยมอย่างมากดังนั้นฉันจึงอาจพิจารณา
โดยที่มีประสิทธิภาพฉันหมายความว่าฉันต้องการหลีกเลี่ยง
String
การสร้างวัตถุชั่วคราวตามที่ใช้โดยmethod 1
ในขณะเดียวกันmethod 2
ดูเหมือนแฮ็คแทนที่จะเป็นวิธีการแก้ปัญหา