美文网首页
elastic search 时间不准确问题

elastic search 时间不准确问题

作者: 良人与我 | 来源:发表于2019-04-18 10:30 被阅读0次

    最近在通过 elastic search 做访客数据的统计。
    发现访客的数据不准备,明明是 今天访问的数据怎么记录到昨天了。
    后来发现是因为 Elasticsearch 默认为UTC时间,即零时区,查询时若不指定时区,则默认以0时区查询,和我们所在的东八区差8小时。yyyy-MM-dd'T'HH:mm:ss.SSSZ,这里的Z就代表UTC时区。

    utc 时间
    https://time.is/zh/UTC
    与各地的时差

    image.png

    所以当存入时间后,es 默认转成 utc 时间 就少了 8小时。

    最后解决办法是
    通过注解方式 加了8小时的时差

        @Field(type = FieldType.Date,
                format = DateFormat.custom,
                pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
        private Date createTime;
    

    这样查询和保存的数据都对了。

    image.png

    相关文章

      网友评论

          本文标题:elastic search 时间不准确问题

          本文链接:https://www.haomeiwen.com/subject/euxzwqtx.html