0

Solrにデータがあります: Solr Administration User Interface を使用すると、modifyTime は "2016-04-20T13:58:35.805Z" です。

solrj: enter image description hereを使用すると、modifyTime は「Wed Apr 20 21:58:35 CST 2016」になります。

私はsolr6を使用しています。なんで?

4

2 に答える 2

3

Solr Administration User Interface からの modifyTime データ形式は UTC です。これは、datetime 文字列の末尾にある Z によって理解できます。これは、この日付の文字列表現が UTC であることを示しています。

2016-04-20T13:58:35.805Z 

一方、データ形式からのmodifyTimeはCST -中国中部 標準時で、あなたの場合は+ 8時間のようです。

Wed Apr 20 21:58:35 CST 2016

これは、java.util.Date にタイム ゾーンがないにもかかわらず、toString メソッドが JVM の現在のデフォルト タイム ゾーンを適用する Java の迷惑で悪い機能が原因で発生します。

java.util.Date date = ( java.util.Date ) doc.getFieldValue("modifyTime");
DateTime dateTimeUtc = new DateTime( date, DateTimeZone.UTC );
String output = dateTimeUtc.toString();

編集

CST(タイムゾーンの略語)の意味に関する提案をしてくれた@BasilBourqueに感謝します

于 2016-07-26T13:43:24.430 に答える