2017-07-12 189 views
-1

當我將一個數組JSON我喜歡這個 從2017年7月12日11時58分07秒至2017-07-12T08日期時間的變化:58:07.000ZJSON.stringify日期時間問題

哪有我解析這個字符串到真正的日期時間?

我要讓這樣

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

的實時結果必須是2017年7月12日11時58分07秒

+0

你在使用JodaTime嗎? – freedev

+0

不,我沒有使用 –

+0

什麼樣的對象是'Datetime',哪裏來的? – freedev

回答

-1

「2017-07-12T08:58:07.000Z」 - 採用ISO-8601格式,在您的時區以2017-07-12 11:58:07表示完全相同的UTC日期時間(末尾的'Z'表示UTC)。我猜你在+03:00區域的電腦上運行你的程序。

因此,您需要做的一種方法是使用XML javax.xml.bind.DatatypeConverter

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

它返回日曆所以如果你需要從java.util.Date方法getTime()把它作爲

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。那麼爲什麼哦爲什麼繼續使用舊的cruft? –