美文网首页
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