Fahren Sie mit dem Java-Programm " Stapelüberlauf " fort, um das aktuelle Datum ohne Zeitstempel abzurufen :
Was ist der effizienteste Weg, um ein Date-Objekt ohne Zeit zu erhalten? Gibt es einen anderen Weg als diese beiden?
// 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();
Update :
Ich wusste von Joda-Time ; Ich versuche nur, zusätzliche Bibliothek für eine so einfache (glaube ich) Aufgabe zu vermeiden. Aber basierend auf den bisherigen Antworten scheint Joda-Time äußerst beliebt zu sein, also könnte ich es in Betracht ziehen.
Mit effizient meine ich, dass ich die temporäre Objekterstellung vermeiden möchte,
Stringwie sie von verwendet wirdmethod 1. In der Zwischenzeitmethod 2scheint dies eher ein Hack als eine Lösung zu sein.