Timezoneの設定について

index作成時またはElasticsearchへのデータ投入時等に、timezoneを指定する方法はありますか?UTCで明示的に指定したいです。
GUIではなくelasticsearch-pyで指定する方法があれば教えて下さい。
私の環境は以下です。

■環境
・Windows 10 64bit
・Elasticsearch 6.5.4
・kibana 6.5.4
・elasticsearch-py 6.3.1

elasticsearchというより、ただのPythonの問題だと思います。

from pytz import timezone
from datetime import datetime

now = datetime.now()
# -> 2018-12-27 00:47:06.979541


localized_now = timezone('Asia/Tokyo').localize(now)
# -> 2018-12-27 00:47:06.979541+0900
 

localizeしておくと、+0900のタイムゾーンがつくようになります。

Elasticsearchのdate型は内部ではいわゆるunixtimeなのでtimezoneの概念がありません。
単にタイムゾーン情報がないdate文字列をUTCとして判定するので、すでに言及されている通り、データ投入時に明示的なタイムゾーンを付与するなどするのが良いです。

kibanaでの表示にはデフォルトではブラウザやOSに設定されたロケールを参照しているはずです。

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.