2017-01-03 11 views
-1

Hallo Ich habe Datum Zeitformat mit Jahrhundert Ich versuchte, es in Zeichenfolge mit Joda Datum Zeitformat konvertieren, aber ich bekomme Junk-Daten während der Konvertierung ich bin nicht sicher, warum dies geschiehtKonvertieren von CCYYMMDDHHMMSSsss in Java mit Joda-Zeitformat

-Code

LocalDate date = LocalDate.now(); 
DateTimeFormatter fmt = DateTimeFormat.forPattern("CCYYMMDDHHMMSSsss"); 
String str = date.toString(fmt); 
System.out.println(str); 

dies ist die Ausgabe

20170103��0100��� 

aber eine Ausgabe wie diese

kommen sollte
20160620091223711 
+3

Ich benutze nicht einmal Joda Zeit, und ich kann Ihnen sagen, dass Muster Zeichenfolge ist nicht so richtig. Lesen Sie [die Dokumentation] (http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html). –

+0

Ja, Ihr Muster ist völlig falsch, siehe Musterbeschreibung. Zum Beispiel, Muster sind in der Regel Groß-und Kleinschreibung. Und warum denkst du, dass Stunde, Minute, Sekunde und Bruchteil der Sekunde (was willst du ?!) irgendeine Bedeutung haben, wenn deine Eingabe nur ein Kalenderdatum ohne Zeitanteil ist? –

+0

Auch 'LocalDate.now()' gibt das Datum ab sofort, ich bin mir nicht sicher, warum Sie die Ausgabe erwarten, die Sie gegeben haben. – mohammedkhan

Antwort

0

Wenn Sie das aktuelle Datum und die Uhrzeit formatiert werden möchten, sollten Sie dies versuchen:

DateTime dt = DateTime.now(); 
DateTimeFormatter fmt = DateTimeFormat.forPattern("CCYYMMddHHmmssSSS"); 
String str = fmt.print(dt); 
System.out.println(str); 

Hier wird ein DateTime Objekt verwendet wird, wird das Muster entsprechend der Spezifikation und der Druckmethode von DateTimeFormatter wird eingesetzt.