0

我正在尝试将日期从这种格式“YYYY-MM-DD”转换为 Unix 时间。

我正在运行此代码以获取分组总和:

Invoice.group('date(filled_at)').sum(:lines_price).to_a

这会返回:

[["2012-12-15", #<BigDecimal:b451450,'0.19275E4',18(45)>], ["2012-12-17", #<BigDecimal:b45107c,'0.764235E3',18(45)>]]

问题是我需要将此数据放入接受此格式的图表中:

[
  [1341014400000, 123.5],
  [1341018000000, 150.3],
  ...
]

如何将数组转换为图表可接受的格式?

4

1 回答 1

1

如果可以解析,转换应该不会太难:

Invoice.group('date(filled_at)').sum(:lines_price).to_a.collect do |date, sum|
  [ DateTime.parse(date).to_i, sum.to_f ]
end

BigDecimal只是NUMERIC在 Ruby 中通过正确处理定点值来表示 SQL 类型的一种方式。

于 2012-12-17T22:16:55.947 回答