我将数据存储在分钟,小时,日,月和年桶中。所有数据都以UTC格式存储。假设客户端处于PDT时间(-07:00 UTC)
如果客户想要在其时区中查询4/23/2016 7:00pm
的小时总和,他们会将时间转换为UTC - 4/24/2016 2:00am
并进行查询。图片供参考。
这适用于小时和分钟桶。但是,让我们看一下客户想要一天桶的总和的情况。如果客户想要4/24/2016
的本地日dum,他们会将时间转换为UTC,并在4/24/2016
中解析。 4/24/2016
UTC日期数据包包含当地日4/23/2016
的7小时数据,并且错过了当地日{j}的最后7个小时。这似乎是个问题,因为查询不会返回正确的总和。它返回UTC日的总和。
我错过了这个例子吗?或者以时间间隔存储数据桶>小时一个坏主意?
答案 0 :(得分:1)
您的日,月和年桶都有一个时区(在这种情况下为UTC0)。如果您想报告不同时间段的日/月/年汇总数,那么这最终会是一个不同的小时集合,您需要使用该时区的概念来计算和存储它们。一天的开始和结束。
答案 1 :(得分:0)
由于用户在此示例中的视角是PST并且数据以UTC格式存储,因此您必须以某种方式标记或指示希望查看整天的聚合值。如果我是PST,无论4/24的时间是什么,如果我选择返回一整天的总价值,我想查询UTC从3/24上午7:00到3/25 7:00下午。如果这是您的意图,它将根据用户选择的总结一天数据的事实成为修改的开始和结束日期。我认为您在几分钟,几小时,几天,几个月内存储数据的设计没有任何问题。
这确实是您对一天数据的定义的问题。是指在我指定的时间之前24小时,或者是我在上面讨论的当天24小时。