0

我有一个页面将其作为日期 new Date(1357106400000) (我相信是 Javascript)返回。

如何使用 Ruby 进行转换。我试过了:

Date.new(1357106400000) DateTime.new(1357106400000) 和许多其他人,但我无法获得正确的显示日期。

返回的日期应为 12/09/2012

4

2 回答 2

1

在 Javascript 中:

> new Date(1357106400000)
Wed Jan 02 2013 06:00:00 GMT+0000 (GMT Standard Time)

在红宝石中:

>  require 'date'
> DateTime.strptime("1357106400000", "%Q")
=> #<DateTime: 2013-01-02T06:00:00+00:00 ((2456295j,21600s,0n),+0s,2299161j)>
于 2013-01-06T23:20:56.353 回答
1

我相信自纪元以来您已经获得了以毫秒为单位的时间,而您正在寻找的功能是Time#at。但是您需要在调用之前将其下转换为几秒钟。例如:

[holt@Michaela ~]$ irb
irb(main):001:0> Time.at(1357106400000)
=> Wed Dec 28 00:00:00 +0000 44974
irb(main):002:0> Time.at(1357106400000 / 1000)
=> Wed Jan 02 06:00:00 +0000 2013
irb(main):003:0>

不是您认为的确切日期,但可能仍然正确。希望有帮助!

于 2013-01-06T23:22:29.143 回答