我汇总了每个都有时间戳的文档。时间戳是UTC,但每个文档也有一个本地时区("timezone": "America/Los_Angeles"
),它们可以在不同文档之间。
我尝试根据当地时间而不是UTC或固定时区(例如,使用选项date_histogram aggregation
)来"time_zone": "America/Los_Angeles"
。
如何在汇总前将每个文档的时区转换为当地时间?
这是简单的聚合:
{
"aggs": {
"date": {
"date_histogram": {
"field": "created_timestamp",
"interval": "day"
}
}
}
}
答案 0 :(得分:0)
我不确定我是否完全理解它,但似乎time_zone
property就是这样:
区域值接受小时偏移的数值,例如:“time_zone”: - 2。它还接受小时和分钟的格式,例如“time_zone”:“ - 02:30”。另一个选择是提供一个时区作为此处列出的值之一接受。
答案 1 :(得分:0)
如果您存储的是没有时区信息的当地时间的其他字段,则应该有效。
获取您拥有的每个时间戳(以UTC为单位),将其转换为本地时区的日期(这将包含时区信息)。现在只需从此日期时间中删除时区信息。现在,您可以对此新字段执行操作。
假设您从UTC时间开始: ' 2016-07-17T01:33:52.412Z'
现在,假设您已经在PDT中将其转换为: ' 2016-07-16T18:33:52.412-07:00'
现在,破解结束,所以你最终得到: ' 2016-07-16T18:33:52.412Z'
现在您可以在此字段上操作。