2013-01-17 10 views
30

Sono nuovo nello sviluppo Java/Groovy e ho una semplice stringa che vorrei riformattare, tuttavia ottengo un errore di 'Data non separabile' quando tento di eseguire quanto segue:Java/Groovy - semplice riformattazione della data

import java.text.SimpleDateFormat 
import java.util.Date 

String oldDate 
Date date 
String newDate 

oldDate = '04-DEC-2012' 
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldDate) 
newDate = new SimpleDateFormat("M-d-yyyy").format(date) 

println newDate 

Sono sicuro che è qualcosa di semplice, ma la soluzione mi sfugge. Qualcuno può aiutare?

+1

La data è indicata nel modello "DD-MMM-YYYY" e si sta tentando di analizzare qualcos'altro ... – posdef

+0

duplicato http://stackoverflow.com/questions/11135675/unparseable-date-30-jun- 12 – CAMOBAP

risposta

51

Con Groovy, non è necessario il include, e può solo fare:

String oldDate = '04-DEC-2012' 
Date date = Date.parse('dd-MMM-yyyy', oldDate) 
String newDate = date.format('M-d-yyyy') 

println newDate 

Per stampare:

12-4-2012 
+0

Ragazzi, siete fantastici. Grazie per l'aiuto! –

+1

Date.parse() ... non è deprecato? – Rafael

+0

@Rafael no http://groovy.codehaus.org/groovy-jdk/java/util/Date.html#parse(java.lang.String,%20java.lang.String) –

1

tuo DateFormat modello non corrisponde voi la data di ingresso String. Si potrebbe utilizzare

new SimpleDateFormat("dd-MMM-yyyy") 
1

oldDate non è nel formato del SimpleDateFormat che si utilizza per analizzarlo.

Prova questo formato: dd-MMM-yyyy - Corrisponde a quello che stai cercando di analizzare.

Problemi correlati