2017-07-12 22 views
-1

私はこの から2017年7月12日11時58分07秒2017-07-12T08のように私の日付の時間変化JSONに1列に変換するとき:58:07.000ZJSON.stringify日時問題

をどのように私はこの文字列を実際のdatetimeに構文解析しますか?

私は

String Time="2017-07-12T08:58:07.000Z"; 
Datetime RealTime=getRealDateTime(Time); 

このようにリアルタイム結果は2017年7月12日午前11時58分07秒

+0

としてgetTime()方法からそれを得るように、それはカレンダーを返します。あなたはJodaTimeを使用していますか? – freedev

+0

いいえ私は使用しませんでした –

+0

どのような種類のオブジェクトは、どこから来た '日時'ですか? – freedev

答えて

-1

する必要があるようにしたい "2017-07-12T08:58:07.000Z" - ISO-8601形式であり、あなたのタイムゾーンで2017-07-12 11:58:07としてUTCでの正確な同じDateTime(UTCを意味する 'Z')を表します。私はあなたのプログラムを+03:00ゾーンのコンピュータで走らせると思います。

あなたが必要とする方法の1つは、XML javax.xml.bind.DatatypeConverterを使用することです。

DatatypeConverter.parseDateTime("2017-07-12T08:58:07.000Z") 

あなたが必要な場合はjava.util.Date

DatatypeConverter.parseDateTime("2017-07-12T08:58:07.000Z").getTime() 

あなたがjava.text.SimpleDateFormatやその他の経由する形式で、あなたの日付を印刷できることから、...

+0

これらの面倒なクラスは、現在は古くから、java.timeクラスに取って代わられています。 –

+0

@Basil_Bourque 'javax.xml.bind.DatatypeConverter'のどれですか?私が言ったように(そして、Dateクラスが何で、TimeZoneが何であるかを理解すれば、問題なく正しく働いているので)投票する前にあなたのやり方を見せてください。 – Vadim

+0

2017年には、「日付/カレンダー」の古い日時クラスであり、上向きではなく、メリットがない、血まみれのひどい混乱を促進する良い理由はありません。私たちには、java.timeクラスの代わりとなる、優れた*業界トップの置き換えがあります。そして、その置換は* Javaに組み込まれています。では、どうしてなぜオールドクラフトを使い続けているのですか? –