elasticsearch根据日期时间查询不对的问题
在使用restHighLevelClient进行日期时间查询的时候,发现返回结果不对,好像把查询条件前8小时的数据查出来了。原来是时区不对。因为es默认时区是UTC,所以在查询的时间要把日期时间类型转成UTC格式进行查询。SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");boolQueryBuild
·
在使用restHighLevelClient进行日期时间查询的时候,发现返回结果不对,好像把查询条件前8小时的数据查出来了。原来是时区不对。因为es默认时区是UTC,所以在查询的时间要把日期时间类型转成UTC格式进行查询。
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
boolQueryBuilder.must(QueryBuilders.rangeQuery("commentTime").gte(format.format(date1)));
或者指定时区
boolQueryBuilder.must(QueryBuilders.rangeQuery("commentTime").gte(date1).timeZone("Asia/Shanghai"));
更多推荐
已为社区贡献3条内容
所有评论(0)