由于之前的项目一直是用solr,很少用es,
今天尝试了下springboot整合es(es版本6.x,依赖spring-boot-starter-data-elasticsearch),
发现Elasticsearch中的date时间取出来会少8小时.
分析原因:首先在索引里面查看了时间数据的存储格式为世界时间,默认是0时区,但是我们一般用的是北京时间东八区,因此间隔了八小时。
用head查看json数据发现所有时间字符串都被Elasticsearch转换成了长整型,于是取出来的时候少了8小时
解决方法:
很多时候我们没有修改数据的权限,所以对提取的数据+8小时就好了
public Date addTime(Date t1){
Calendar cal=Calendar.getInstance();
cal.setTime(t1);
cal.add(Calendar.HOUR_OF_DAY,+8);
return cal.getTime();
}