web-dev-qa-db-ja.com

Java / Groovy-単純な日付の再フォーマット

私はJava/Groovy開発に不慣れで、再フォーマットしたい単純な文字列がありますが、次を実行しようとすると 'Unparseable date'エラーが発生します。

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

私はそれが簡単なものであると確信していますが、解決策は私を免れます。誰でも助けることができますか?

40
DC Guy

Groovyでは、インクルードは不要で、次のことができます。

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

println newDate

印刷する:

12-4-2012
70
tim_yates

DateFormatパターンは、入力日付Stringと一致しません。使用できます

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

oldDateは、解析に使用しているSimpleDateFormatの形式ではありません。

次の形式を試してください:dd-MMM-yyyy-解析しようとしているものと一致します。

1
Jesan Fafon