web-dev-qa-db-fra.com

Java / Groovy - reformatage de date simple

Je suis nouveau dans le développement Java/Groovy et j'ai une chaîne simple que je voudrais reformater. Cependant, une erreur "Date impossible" s'affiche lorsque j'essaie d'exécuter ce qui suit:

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

Je suis sûr que c'est quelque chose de simple, mais la solution m'échappe. Quelqu'un peut-il aider?

40
DC Guy

Avec Groovy, vous n'avez pas besoin d'inclus, vous pouvez simplement faire:

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

println newDate

Imprimer:

12-4-2012
70
tim_yates

Votre modèle DateFormat ne correspond pas à votre date d'entrée String. Vous pourriez utiliser

new SimpleDateFormat("dd-MMM-yyyy")
2
Reimeus

oldDate n'est pas au format de SimpleDateFormat que vous utilisez pour l'analyser.

Essayez ce format: dd-MMM-yyyy - Cela correspond à ce que vous essayez d'analyser.

1
Jesan Fafon