1

我正在尝试制作一个图表,显示我的应用每天使用 flot 获得的搜索结果数量。我的代码(顺便说一句,它使用 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
        }
    }
);

输出如下内容:

在此处输入图像描述

我真的需要酒吧以一天为中心。有什么想法吗?谢谢!

4

1 回答 1

4

发现了问题。我的日期生成代码已关闭,因为 JavaScript 的长格式Date(year, month, date [, time...])构造函数使用本地时间或类似的奇怪东西。无论如何,我替换了new Date(...).getTime()to be的调用Date.UTC(...),一切都神奇地起作用了。

似乎 JavaScript 的日期处理往往是我大多数 JS 问题的根源!

于 2013-05-22T19:09:16.627 回答