2013-01-17 13 views
30

私はJava/Groovyの開発を初めて使いましたが、再フォーマットしたい単純な文字列を持っていますが、次のコードを実行しようとすると「Unparseable date」エラーが発生します。Java/Groovy - 単純な日付の再フォーマット

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 

私はそれが単純なものだと確信していますが、解決策は私には分かりません。誰も助けることができますか? Groovyので

+1

あなたの日付は "DD-MMM-YYYY"パターンで与えられており、何かを解析しようとしています... – posdef

+0

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

答えて

51

、あなたが含まれており、単に行うことができます必要はありません。

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 
+0

皆さんは素晴らしいです。ご協力いただきありがとうございます! –

+1

Date.parse()...これは非推奨ですか? – Rafael

+0

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

1

あなたDateFormatパターンは、あなたの入力日付Stringと一致していません。あなたは

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

oldDateあなたはそれを解析するために使用されているSimpleDateFormatの形式ではありませんを使用することができます。

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

関連する問題