es~⽇期类型需要注意的
es的Date类型⽀持的格式是有限的,默认是⼀个时间戳,可读性不是很好,需要解析之后才能使⽤,⽽它默认⽀持的格式只有如下⼏种,如果你在java⾥格式化的字符串不属于以下⼏种,将会出错。浏览器json格式化
UTC时间
//kibana⾥索引字段
@Field(type = FieldType.Date, format = DateFormat.custom, pattern ="yyyy-MM-ddTHH:mm:ss.SSSZ")// 指定存储格式
@JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone ="GMT+8")// 数据格式转换,并加上8⼩时进⾏存储
private String timestamp;
esPathHandlerEntity.setTimestamp(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ").format(new Date()));
esPathHandlerRepository.save(esPathHandlerEntity);
本地时间,kibana⾥索引需要这样做
//kibana⾥索引字段
@Field(type = FieldType.Date, format = DateFormat.custom, pattern ="yyyy-MM-ddTHH:mm:ss+0800")// 指定存储格式
@JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss", timezone ="GMT+8")// 数据格式转换,并加上8⼩时进⾏存储
esPathHandlerEntity.setTimestamp(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss+0800").format(new Date()));
esPathHandlerRepository.save(esPathHandlerEntity);
上⾯的配置与kibana⾥配置时间选择使⽤“浏览器”时间是统⼀的
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论