Wie kann ich einen String in einen konvertieren LocalDate
?
Ich habe Beispiele gesehen wie:
LocalDate dt = new LocalDate("2005-11-12");
Aber meine Saiten sind wie:
2005-nov-12
Wenn Sie Joda Time verwenden, sollten Sie Folgendes verwenden DateTimeFormatter
:
final DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MMM-dd");
final LocalDate dt = dtf.parseLocalDate(yourinput);
Wenn Sie Java 8 oder höher verwenden, lesen Sie die Antwort von hertzi
java.time
Seit Java 1.8 können Sie dies ohne zusätzliche Bibliothek mithilfe der Klassen java.time erreichen . Siehe Tutorial .
Die Syntax ist jedoch fast dieselbe.
quelle
Möglicherweise müssen Sie von DateTime zu LocalDate wechseln.
Verwenden der Joda-Zeit:
quelle
Die Datetime-Formatierung wird von der durchgeführt
org.joda.time.format.DateTimeFormatter class
. Drei Klassen bieten Factory-Methoden zum Erstellen von Formatierern , und dies ist eine. Die anderen sindISODateTimeFormat
undDateTimeFormatterBuilder
.final org.joda.time.LocalDate class
ist eine unveränderliche datetime-Klasse, die ein Datum ohne Zeitzone darstellt .LocalDate
ist threadsicher und unveränderlich , vorausgesetzt, die Chronologie ist auch. Alle mitgelieferten Standard-Chronologieklassen sind threadsicher und unveränderlich.quelle
DateTimeFormatter
verfügt über integrierte Formate, mit denen eine Zeichenfolge direkt analysiert werden kann. Es ist case sensitive, Nov wird funktionieren, aber nov und NOV werden nicht funktionieren:DateTimeFormatterBuilder
bietet eine benutzerdefinierte Möglichkeit zum Erstellen eines Formatierers. Es wird zwischen Groß- und Kleinschreibung unterschieden, Nov, Nov und NOV werden gleich behandelt.quelle