2013-01-06 28 views
0

我有一個頁面返回這個作爲日期新日期(1357106400000)(我相信是Javascript)。Ruby轉換日期

我該如何使用Ruby進行轉換。我試過了:

Date.new(1357106400000) DateTime.new(1357106400000) 和其他很多,但我不能得到正確的日期顯示。

的返回日期應該是2012年12月9日

回答

1

我相信,因爲你有時間以毫秒爲單位時代,而你正在尋找的功能是Time#at。但在呼叫之前,您需要將其轉換爲秒數。例如:

[[email protected]ichaela ~]$ 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> 

不是你認爲它的確切的一天,但可能仍然是正確的。希望有所幫助!

+0

謝謝!這工作! – user1198316

1

在Javascript中:

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

在Ruby:

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

謝謝。這樣可行。我原來把錯誤的價值。我應該把1355119200000.這給我12/10/2012與您的答案。但是,該網站上的日期是2012年9月12日。我檢查了幾個人,他們都是在發佈日期後的1天 – user1198316