2011-12-02 11 views
0

この日付/時刻形式 "2011-12-02T16:18:12.479-05:00"をmm/dd/yy形式に解析できます。それをする最善の方法は何ですか?私がやろうとしています -日付をmm/dd/yy形式に解析するにはどうすればよいですか?

final DateFormat dateFormatIn = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S'Z'"); 
final DateFormat dateFormatOut = new SimpleDateFormat("MMMMMMMMM d, yyyy"); 
String timestamp = dateFormatOut.format(dateFormatIn.parse(someDate); 

をしかし、私は例外を取得「java.text.ParseException:解析できない日: 『2011-12-02T16:18:12.479から05:00』」何私ができるに任意の洞察力を間違っている?

答えて

1

入力日2011-12-02T16:18:12.479-05:00にはミリ秒が含まれます。他のすべてが失敗した場合 は、ジョダ時、次の代わりに

final DateFormat dateFormatIn = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); 
0

final DateFormat dateFormatOut = new SimpleDateFormat("MMM, dd, yyyy"); 
1

私はあなたの問題は、Z周りに "マークであると信じて...試してみてください。

new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SZ"); 

テストするためのクイックスクリプトを作成しました。今はうまく動作します。

+0

+1のタイムゾーン!彼/彼女はミリ秒を忘れました – GETah

+0

@ GETahあなたは3つのすべてを必要としません。 .... – AedonEtLIRA

+0

チップのおかげで3Sもうまくいきました:p – GETah

0

を使用joda-time非常に簡単の書式の日付になるだろうすごい時間ユーティリティライブラリです。自分のサイトには、いくつかのチュートリアルとAPIがあります。あなたのParseExceptionに関して、私は上記の答えが役に立つはずだと信じています:)

関連する問題