0

我正在尝试绘制从 Ruby on Rails 中的 ActiveRecord 查询中提取的数据。JavaScript 图表库 (amcharts) 接受以下形式的数据:

 var chartData = [{
            date: new Date(2012, 0, 1),
            products: 227
        }, {
            date: new Date(2012, 0, 2),
            products: 371
        }]

如何解析 YYYY-MM-DD 格式的日期字符串并从下面的查询中创建 JavaScript Date 对象?我已经看过本教程,但我无法弄清楚如何编写一个函数来正确解析 json 输出。

  create_table :products do |t|
        t.date :date
  end

 <% a = Product.select("date(date) as date, count(id) as products").group("date(date)").to_a.to_json %>
4

1 回答 1

0

这是对我有用的答案:

 function parseDate(dateString) {
     // split the string get each field
     var dateArray = dateString.split("-");
     // now lets create a new Date instance, using year, month and day as parameters
     // month count starts with 0, so we have to convert the month number
     var date = new Date(Number(dateArray[0]), Number(dateArray[1]) - 1, Number(dateArray[2]));
     return date;
 }

     var array = <%= a.to_json %>;

     var array2 = [];

     array.forEach(function(element){ 
       array2.push({date: parseDate(element.date), products: element.products});
     });
于 2012-07-04T12:53:31.023 回答