解析JSON日期时间?

sta*_*ith 3 ruby-on-rails ruby-on-rails-3

我正在使用JSON API,它以下列格式将datetime值作为字符串返回:

/日期(1370651105153)/

如何将这样的值解析为rails中的datetime变量?

Cod*_*lan 6

这似乎是一个UNIX时间戳(自纪元以来的几秒钟).此外,它似乎是自纪元以来的毫秒.

所以你可以像这样转换它 - 假设它value是一个看起来像的String:

value = "/Date(1370651105153)/"

if value =~ /\/Date\((\d+)\)\//
  timestamp = $1.to_i
  time = Time.at(timestamp / 1000)
  # time is now a Time object
end
Run Code Online (Sandbox Code Playgroud)

你需要除以1000,因为Time#at期望它的参数是秒,而不是自纪元以来的毫秒.