我正在尝试制作一个图表,显示我的应用每天使用flot吸收的搜索结果数量。我的代码(BTW使用underscore.js):
flotDataSet = _.countBy(resultSet, function(file) {
var exactDate = new Date(parseInt(file.get('start_utc'), 10));
//constructing a new date with 0 time so that all days get grouped together.
return new Date(exactDate.getUTCFullYear(), exactDate.getUTCMonth(), exactDate.getUTCDate()).getTime();
});
flotDataSet = _.map(flotDataSet, function(value, key) {
return [key, value];
});
$.plot(
$graphDiv,
[{
data: flotDataSet,
color: '#012D4C',
bars: { show: true, fillColor: '#024985', align: 'center', fill: 0.7, barWidth: DateUtil.msInDay/2 }
}],
{
grid: { color: '#012D4C' },
xaxis: {
mode: 'time',
tickSize: [1, 'day'],
autoscaleMargin: 0.001
}
}
);
输出如下内容:
我真的需要酒吧围绕这一天。有什么想法吗?谢谢!
答案 0 :(得分:4)
发现问题。我的日期生成代码已关闭,因为JavaScript的长格式Date(year, month, date [, time...])
构造函数使用本地时间或类似奇怪的东西。无论如何,我将new Date(...).getTime()
的调用替换为Date.UTC(...)
,所有内容都神奇地起作用。
似乎JavaScript的日期处理往往是我大多数JS问题的根源!