ElasticSearch Date时区问题

时间中时区的几个名词: 

  1. GMT:格林威治标准时间 
  2. UTC:世界协调时间 
  3. DST:夏日节约时间 
  4. CST:中国标准时间 

问题来源

存入时间

数据库实际存储时间

     2017-06-21 10:09:51(一致)

kibana查看时间

     2017-06-21  18:09:51(晚8小时)

 

问题解决

      如果在写入数据时不加时区信息,ElasticSearch默认按UTC时区写入,默认是0时区,但是当我们查看的时候,kibana会读取我们当地的时间,即东八区,进行转换,所以我们看到的时间会晚8小时。

      所以最佳实践方案就是:我们在往es提交日期数据的时候,直接提交带有时区信息的日期字符串,如:“2016-07-15T12:58:17.136+0800”。

"insertTime": {
        "type": "date"
      }

      经过测试,如果通过kibana写入数据,然后读取,不会出现这个问题。

     通过logstash/后台写入才会出现时区问题。解决方案是在写入前 +8 或者 指定时区。

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(elasticSearch,时区问题)