SimpleDateFormatを使用してStringをDateオブジェクトに解析しようとしています。 以下はこれは例外の下に私を与えている私のコード解析できない日付例外単純な日付形式
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm.sss");
Date parsedDate = formatter.parse("2016-06-28T14:10:23.374Z");
System.out.println(parsedDate.toString());
ある
Exception in thread "main" java.text.ParseException: Unparseable date: "2016-06-28T14:10:23.374Z"
at java.text.DateFormat.parse(DateFormat.java:368)
at com.bac.rds.dolphin.test.Main.main(Main.java:60)
問題の私の理解では、私は自衛隊で使用していますフォーマット文字列がappropriate.Iはあまり馴染みのないですではないかもしれないということですSimpleDateFormatを使用すると、この作業を行うのに役立ちます。
EDIT
は、このフォーマット文字列は、日付オブジェクトに文字列を解析することが可能である
yyyy-MM-dd'T'HH:mm:ss.SSS
以下のように私の書式文字列を更新しました。しかし、Zをフォーマットストリングの終わりに挿入して、タイムゾーンを指定するときに、ZもそこにDate Stringに含まれています。それは解析例外を与える。以下は
は
yyyy-MM-dd'T'HH:mm:ss.SSSZ
なぜ、この動作解析例外をスローフォーマットですか?
見ている - それはZで終わっていないが、値がありません。同様に、あなたのパターンは1時間12時間の書式指定子である 'hh'を使いますが、その値は14という値を持っています。あなたのパターンのすべての部分をチェックするために 'SimpleDateFormat'ドキュメントを読んだことがありますか? –
この文書を見て解析方法を理解してください。 https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html – Riad
また、次のようにミリ秒を解析しようとしています。秒を解析するパターンはありません。 – DanielBarbarian