2015-11-19 19 views
6

Sto leggendo i dati da un file e dovrò serializzarlo altrove dopo qualche calcolo. Come posso ottenere quanto segue per stampare senza millisecondi in modo che la stringa passata a DateTime.parse e ciò che viene emesso siano identici?Come stampare DateTime senza millisecondi

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

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

risposta

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

Th la risposta è l'unica che risponde effettivamente alle domande originali (per non dire che è molto elegante allo stesso tempo). Non sono sicuro del motivo per cui le altre risposte vengono svalutate così tanto. PS: soluzione ancora più semplice è chiamare yourDateTime.toString (ISODateTimeFormat.dateTimeNoMillis()); – vanomart

+1

Grazie a @vanomart per la soluzione più semplice! –

5

È possibile utilizzare il joda time formatter:

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