Javascript highcharts js库接受什么格式的日期?

Javascript highcharts js库接受什么格式的日期?,javascript,highcharts,Javascript,Highcharts,我使用的是highcharts,无法确定从rails日期到highcharts接受的日期格式的日期输入应该是什么 在我的迁移文件中,我存储的日期如下: t.date :consumption_date 该值以这种格式“2012-03-25”存储,然后转到终端并查找记录,我得到以下结果: => Sat, 31 Mar 2012 图表呈现时,各个点显示无效日期。以下数组将输出到highcharts进行渲染 [[Sun, 25 Mar 2012, 1158], [Sat, 31 Mar 2

我使用的是highcharts,无法确定从rails日期到highcharts接受的日期格式的日期输入应该是什么

在我的迁移文件中,我存储的日期如下:

t.date :consumption_date
该值以这种格式“2012-03-25”存储,然后转到终端并查找记录,我得到以下结果:

=>  Sat, 31 Mar 2012
图表呈现时,各个点显示无效日期。以下数组将输出到highcharts进行渲染

[[Sun, 25 Mar 2012, 1158], [Sat, 31 Mar 2012, 1200]]
在jquery中提交数据时,highcharts在其演示图表中使用的格式为:

[[Date.UTC(1970,  9, 27), 0   ], [Date.UTC(1970, 10, 10), 0.6 ]]

如何通过向highcharts提交正确的日期格式来消除无效日期

Highcharts内部使用javascript日期数字(自1970年1月1日以来的毫秒数)表示日期。看

要获取轴上的日期,首先需要将轴类型设置为“datetime”:

xAxis: {
    type: 'datetime'
}
指定系列数据时,您有几个选项(所有三个示例都生成相同的图表):

  • 设置起点并在点之间使用固定间隔

    pointStart: Date.UTC(2012, 2, 6, 10),
    pointInterval: 1000 * 60 * 60,
    data: [5, 6, 4]
    
  • 使用date.UTC方法指定确切日期。通过这种方式,人类可以阅读:

    data: [
        [Date.UTC(2012, 2, 6, 10), 5], 
        [Date.UTC(2012, 2, 6, 11), 6], 
        [Date.UTC(2012, 2, 6, 12), 4]]
    
  • 或直接指定历元时间:

    [[1331028000000, 5], [1331031600000, 6], [1331035200000, 4]]
    

  • 例如,

    在@eolsson中添加epoch time通常是一种方式,因为从技术上讲,Date()对象是javascript,而不是JSON,并且您不太可能找到现成的序列化程序来生成它们

    您还需要格式化日期,类似这样的格式--


    日期格式化完成。

    对我来说唯一有效的输入是直接输入epock时间。thanksDate.UTC返回epock时间,所以我认为2和3的数字基本相同。
    xAxis: {
      type: 'datetime',
      labels: {
        formatter: function() {
          return Highcharts.dateFormat('%e %b', this.value*1000); // milliseconds not seconds
        },
      }
    }