2015-11-19 6 views
6

Ich lese Daten aus einer Datei und muss sie nach einer Berechnung an anderer Stelle serialisieren. Wie kann ich Folgendes erhalten, um ohne Millisekunden zu drucken, so dass die Zeichenfolge, die an DateTime.parse übergeben wird und was ausgegeben wird, identisch sind?So drucken Sie DateTime ohne Millisekunden

System.out.println(DateTime.parse("2015-06-06T01:51:49-06:00").toString()) 

2015-06-06T01: 51: 49,000 bis 06: 00

Antwort

3
DateTimeFormatter formatter = new DateTimeFormatterBuilder().append(ISODateTimeFormat.dateTimeNoMillis()).toFormatter().withOffsetParsed(); 
formatter.print(DateTime.parse("2015-06-06T01:51:49-06:00")) 
+0

Th ist die Antwort die einzige, die tatsächlich die ursprünglichen Fragen beantwortet (ganz zu schweigen davon, dass das zur selben Zeit sehr elegant ist). Nicht sicher, warum die anderen Antworten so stark aufgewertet wurden. PS: Noch einfachere Lösung ist der Aufruf von yourDateTime.toString (ISODateTimeFormat.dateTimeNoMillis()); – vanomart

+1

Danke @vanomart für die einfachste Lösung! –

5

können Sie verwenden die joda time formatter:

DateTime dt = new DateTime(); 
DateTimeFormatter fmt = DateTimeFormat.forPattern("MMMM, yyyy"); 
String str = fmt.print(dt);