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を使用しています。なんで?
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を使用しています。なんで?
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に感謝します