Was ist der beste Weg, ein java.util.Date
-Objekt in das neue JDK 8/JSR-310 java.time.LocalDate
umzuwandeln?
Date input = new Date();
LocalDate date = ???
Was ist der beste Weg, ein java.util.Date
-Objekt in das neue JDK 8/JSR-310 java.time.LocalDate
umzuwandeln?
Date input = new Date();
LocalDate date = ???
Date input = new Date(); // Stellen Sie sich hier Ihr Datum vor
LocalDate date = DateTimeUtils.toInstant(input)
.atZone(ZoneId.systemDefault())
.toLocalDate();
Wenn Sie das Backport von JSR 310 verwenden, haben Sie entweder keine Date.toInstant()
Methode oder sie gibt Ihnen nicht das org.threeten.bp.Instant
, das Sie für die weitere Konvertierung benötigen. Stattdessen müssen Sie die DateTimeUtils
-Klasse verwenden, die Teil des Backports ist. Der Rest der Konvertierung ist gleich, daher ist auch die Erklärung gleich.
Ich hatte Probleme mit der Implementierung von @JodaStephen auf JBoss EAP 6. Deshalb habe ich die Konvertierung gemäß Oracles Java-Tutorial unter http://docs.oracle.com/javase/tutorial/datetime/iso/legacy.html neu geschrieben.
Date input = new Date();
GregorianCalendar gregorianCalendar = (GregorianCalendar) Calendar.getInstance();
gregorianCalendar.setTime(input);
ZonedDateTime zonedDateTime = gregorianCalendar.toZonedDateTime();
zonedDateTime.toLocalDate();
Ich habe diese Frage mit der folgenden Lösung gelöst
import org.joda.time.LocalDate;
Date myDate = new Date();
LocalDate localDate = LocalDate.fromDateFields(myDate);
System.out.println("Mein Datum mit Date" Nov 18 11:23:33 BRST 2016);
System.out.println("Mein Datum mit joda.time LocalTime" 2016-11-18);
In diesem Fall gibt localDate Ihr Datum in diesem Format aus "yyyy-MM-dd"
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.