Datetime 人力车误报了日期时间

Datetime 人力车误报了日期时间,datetime,d3.js,rickshaw,Datetime,D3.js,Rickshaw,我使用Rickshaw javascript库来显示和表示一些图形值,遵循中的模型。要绘制的数据通过Ajax调用提供,例如: [{“颜色”:“#65A1CC”,“数据”:[{“x”:1383906402000,“y” :22.31},{“x”:1383906428000,“y”:22.38},{“x”:1383906452000,“y”:22.31},{“x”:1383906477000,“y”:22.38},{“x”:1383906502000,“y”:22.38},{“x”:13839065

我使用Rickshaw javascript库来显示和表示一些图形值,遵循中的模型。要绘制的数据通过Ajax调用提供,例如:

[{“颜色”:“#65A1CC”,“数据”:[{“x”:1383906402000,“y” :22.31},{“x”:1383906428000,“y”:22.38},{“x”:1383906452000,“y”:22.31},{“x”:1383906477000,“y”:22.38},{“x”:1383906502000,“y”:22.38},{“x”:1383906527000,“y”:22.38},{” x:1383906552000,y:22.31},{“x:1383906577000,y:22.31}],“名称”:“传感器1},{“颜色”:“CC9065”,“数据”:[{“x:1383906402000,y:22.38},{“x:1383906427000,y:22 .38},{“x”:1383906452000,“y”:22.38},{“x”:1383906477000,“y”:22.38},{“x”:1383906502000,“y”:22.38},{“x”:1383906527000,“y”:22.38},{“x”:1383906552000,“y”:22.38},{“x”: 1383906577000,“y”:22.38}],“名称”:“传感器2”}]

此处给出的长值是2013年11月8日星期五13:26:42和2013年11月8日星期五13:29:37之间的数据时间

但是,当将鼠标悬停在结果图上时,各种值的日期显示为“03年4月3日星期六”,如下图所示。我不明白为什么:如果我在javascript中迭代数据,javascript日期对象将显示11月时间,而不是4月

代码是:

<div id="chart_container">
<div id="chart" style="background-color: white;"></div>
<div id="legend_container">
    <div id="smoother" title="Smoothing"></div>
    <div id="legend"></div>
</div>
<div id="slider"></div>
包括以下js文件:
jquery-ui.min.js、d3.v2.js、rickshaw.js、rickshaw.Compat.ClassList.js、rickshaw.Graph.js、rickshaw.Graph.Renderer.js、rickshaw.Graph.Renderer.Area.js、rickshaw.Graph.Renderer.Line.js、rickshaw.Graph.Renderer.Bar.js、rickshaw.Graph.Renderer.ScatterPlot.js、,Rickshaw.Graph.RangeSlider.js、Rickshaw.Graph.HoverDetail.js、Rickshaw.Graph.Annotate.js、Rickshaw.Graph.Legend.js、Rickshaw.Graph.Behavior.Series.Toggle.js、Rickshaw.Graph.Behavior.Series.Highlight.js、Rickshaw.Graph.smooler.js、Rickshaw.Graph.Unstacker.js、,Rickshaw.Fixtures.Time.js,Rickshaw.Fixtures.Time.Local.js,Rickshaw.Fixtures.Number.js,Rickshaw.Fixtures.RandomData.js,Rickshaw.Fixtures.Color.js,Rickshaw.Color.palete.js,Rickshaw.Graph.Axis.Y.js

我应该怎么做才能获得十一月的。。。时间而不是四月


谢谢

您需要以秒为单位传递,而不是以毫秒为单位,因此您应该将时间数据除以
1000
。例如,您需要的不是
1383906452000
,而是
1383906452

如果无法从服务器端以秒为单位返回时间值,在客户端,您可以在调用
showDashboard(data)
之前使用以下命令:

$.ajax({                        
         type : "POST",
         dataType: "json",
         url : "/myApp/someURL",
         data: { pack:selectedpack} 
      }
     ).done(function(data) {
        showDashboard(data);
    }); 

function showDashboard(data) {
    $("#charts").show();
    $("#chart").empty();
    $("#legend").empty();

    var graph = new Rickshaw.Graph({
        element: document.getElementById("chart"),
        width: 1000 - 130,
        height: 400,
        renderer: 'line',
        series: data
    });

    graph.render();

    var slider = new Rickshaw.Graph.RangeSlider({
        graph: graph,
        element: $('#slider')
    });

    var hoverDetail = new Rickshaw.Graph.HoverDetail({
        graph: graph
    });

    var legend = new Rickshaw.Graph.Legend({
        graph: graph,
        element: document.getElementById('legend')

    });

    var shelving = new Rickshaw.Graph.Behavior.Series.Toggle({
        graph: graph,
        legend: legend
    });

    var axes = new Rickshaw.Graph.Axis.Time({
        graph: graph
    });
    axes.render();
}
$(data).each(function (e, i) {
    $(i.data).each(function (f, j) {
        j.x = j.x / 1000;
    });
});