Utilice LocalDateTime#parse()
(oder ZonedDateTime#parse()
wenn die Zeichenkette zufällig einen Zeitzonenteil enthält), um eine String
nach einem bestimmten Muster in eine LocalDateTime
.
String oldstring = "2011-01-18 00:00:00.0";
LocalDateTime datetime = LocalDateTime.parse(oldstring, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"));
Utilice LocalDateTime#format()
(oder ZonedDateTime#format()
) zum Formatieren einer LocalDateTime
in eine String
nach einem bestimmten Muster.
String newstring = datetime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
System.out.println(newstring); // 2011-01-18
Ou Wenn Sie noch nicht mit Java 8 arbeiten, verwenden Sie SimpleDateFormat#parse()
zum Parsen einer String
nach einem bestimmten Muster in eine Date
.
String oldstring = "2011-01-18 00:00:00.0";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldstring);
Utilice SimpleDateFormat#format()
zum Formatieren einer Date
in eine String
nach einem bestimmten Muster.
String newstring = new SimpleDateFormat("yyyy-MM-dd").format(date);
System.out.println(newstring); // 2011-01-18
Siehe auch:
Update Wie bei Ihrem gescheiterten Versuch: Die Muster sind Groß- und Kleinschreibung beachten . Lesen Sie die java.text.SimpleDateFormat
javadoc wofür die einzelnen Teile stehen. So steht zum Beispiel M
seit Monaten und m
für Minuten. Auch Jahre bestehen aus vier Ziffern yyyy
, nicht fünf yyyyy
. Schauen Sie sich die Codeschnipsel, die ich hier oben gepostet habe, genauer an.