愚者求师之过,智者从师之长。

dateHistogram统计一周时,初始时间不是0点,而是8点的问题

Elasticsearch | 作者 el1035471207 | 发布于2019年11月19日 | 阅读数:2621

项目中需要统计一周攻击日志的数量,当我使用dateHistogram时间统计:
"event_receive_time"{
"date_histogram" : {
"field" : "event_receive_time",
"interval" : "1d",
"offset" : 0,
"order" : {
"_key" : "asc"
},
"keyed" : false,
"min_doc_count" : 0,
"extended_bounds" : {
"min" : 1573401600000,//0点
"max" : 1574006399000
}
}
}

发现返回的结果的初始时间戳是由8点开始,如下:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 25,
"successful": 25,
"failed": 0
},
"hits": {
"total": 365,
"max_score": 0.0,
"hits": []
},
"aggregations": {
"event_receive_time": {
"buckets": [{
"key": 1573344000000,
"doc_count": 71
}, {
"key": 1573430400000,
"doc_count": 123
}, {
"key": 1573516800000,
"doc_count": 105
}, {
"key": 1573603200000,
"doc_count": 66
}, {
"key": 1573689600000,
"doc_count": 0
}, {
"key": 1573776000000,
"doc_count": 0
}, {
"key": 1573862400000,
"doc_count": 0
}, {
"key": 1573948800000,
"doc_count": 0
}]
}
}
}

请问一下如何使得统计一周的时间时,是从0点开始统计
已邀请:
匿名用户

匿名用户

赞同来自: eddy

问题的根源是时区,
 
1,插入的日期格式,如果不带时区,默认会转成UTC 0时区。
2,插入的日期格式,如果带了时区,那么就是带时区的。
只有明白了问题的根本原因,才能解决问题。
 

要回复问题请先登录注册