Ruby on Rails中日期转换后的奇怪输出

时间:2011-06-24 05:02:20

标签: ruby-on-rails ruby date

我从API获取数据。附加到每个对象的日期采用以下格式:

  

时间戳是一个日期和时间   UTC时间的事件。这表达了   作为特定的毫秒数   自标准基础“epoch”以来:   1970年1月1日00:00:00 GMT

我正在尝试将其转换为Ruby中的不同日期格式。

CODE

objects.each do |obj|
  p "object"
  p obj.created
  p Time.at(obj.created)
end

输出

"object"
1308886130000
43446-12-14 10:33:20 +1000
"object"
1308886104000
43446-12-14 03:20:00 +1000
"object"
1308801345000
43444-04-07 03:10:00 +1000

这些年显然不正确。我做错了什么?

我正在使用Ruby 1.9.2和Rails 3.0.1

1 个答案:

答案 0 :(得分:4)

Time.at函数预计自纪元以来的时间(以秒为单位)。你给它毫秒,所以计算结束了。

将该时间戳除以1000。