我正在使用敏锐分析.js和敏锐-dataviz.js框架。
当尝试按月查询和图表数据时,如果我的日期时间有时区偏移信息,则结果不会按预期划分。
这是我正在使用的 javascript:
var query1 = new Keen.Query('count', {
event_collection: "accounts",
interval: "monthly",
timeframe: {
end: (new Date(2017, 3, 1)).toISOString(), // "2017-04-01T05:00:00.000Z"
start: (new Date(2017, 0, 1)).toISOString(), // "2017-01-01T05:00:00.000Z"
},
timezone: "US/Eastern"
});
var query2 = new Keen.Query('count', {
event_collection: "accounts",
interval: "monthly",
timeframe: {
end: '2017-04-01T00:00:00.000',
start: '2017-01-01T00:00:00.000'
},
timezone: "US/Eastern"
});
window.onload=function(){
var chart1 = new Dataviz()
.el("#chart1")
.title("query1 results")
.height(100)
.type("area")
.prepare();
client
.run(query1)
.then(function(res){
chart1
.data(res)
.render();
})
.catch(function(err){
chart1
.message(err.message);
});
var chart2 = new Dataviz()
.el("#chart2")
.title("query2 results")
.height(100)
.type("area")
.prepare();
client
.run(query2)
.then(function(res){
chart2
.data(res)
.render();
})
.catch(function(err){
chart2
.message(err.message);
});
}
这是结果的屏幕截图。请注意,在 query1 中,一月被提及两次。
我相信它与响应有关,其中 query1 中的时区偏移在“end”属性的第一个间隔中丢失。我猜这种最初的数据丢失会产生级联效应。
我想知道这是一个错误还是预期的结果。如果这是预期的,我应该对我的代码进行什么更改。谢谢。