accepted answer by Jesper jest poprawna, ale teraz przestarzałe. Klasy java.util.Date i .Calendar są notorycznie kłopotliwe. Unikaj ich.
java.time
Zamiast używać java.time ramy, zbudowany w Javie 8 i nowszych back-ported to Java 6 & 7 i further adapted to Android.
Jeśli naprawdę nie zależy Ci na porach dnia i strefach czasowych, użyj funkcji LocalDate
w ramach java.time().
LocalDate localDate = LocalDate.of(2014 , 5 , 6);
Należy pamiętać, że jeśli masz żadnego szansę konieczności radzenia sobie z innych stref czasowych lub UTC, to w niewłaściwy sposób, aby przejść. Naiwni programiści mają tendencję do myślenia, że nie potrzebują stref czasowych, podczas gdy w rzeczywistości to robią.
Zadzwoń pod numer toString
, aby wygenerować ciąg znaków w standardowym formacie ISO 8601.
String output = localDate.toString();
2014-05-06
przypadku innych formatów, wyszukiwania przepełnienie stosu dla DateTimeFormatter
klasie.
Joda-Time
Choć obecnie wypierany przez java.time, można użyć podobnego LocalDate
klasę w Joda-Time biblioteki (inspiracją dla java.time).
LocalDate localDate = new LocalDate(2014, 5, 6);
Czy chcesz porównać dwie daty, aby sprawdzić, czy są tego samego dnia (ignorując czas), czy chcesz wydrukować datę bez porcji? Mam wrażenie, że chciałeś pierwszy, ale odpowiedzi wydają się myśleć, że chcesz drugi –
Po pierwsze, mówi o porównywaniu, a następnie daje drukowanie go jako przykład, aby wskazać, co oznacza przez brak sygnatury czasowej, więc zgaduję że naprawdę chce porównać czas, zamiast go wydrukować, ale jeśli tego właśnie chce, prawdopodobnie nie powinien wspominać o drukowaniu, ponieważ to dezorientuje. –