2017-01-16 209 views
1

我有以下Unix時間戳:1478698378000紅寶石UNIX日期不正確

而且我試圖表現出本作中,紅寶石日期時間,例如

<%= Time.at(@timestamp).to_datetime %> 

哪些應該返回的日期:Wed, 09 Nov 2016 13:32:58 GMT但上面的代碼實際上返回的日期:48828-02-01T13:26:40+00:00忽略格式!

正如你可以看到它認爲,時間戳爲2月2日13時26分40秒48828。

爲什麼日期時間出來完全不正確的,今年迄今爲止的未來這樣呢?檢查http://www.epochconverter.com/上的時間戳顯示時間戳是正確的,所以它是Ruby返回它不正確。

回答

6

Time.at期望秒作爲參數,您的時間戳是毫秒量。請參閱documentation on Time.at

+0

Ah'<%= Time.at((@ crash.timestamp/1000))。to_datetime%>'解決了它! – Cameron

+0

Upvoted只是爲了公平。 OP必須接受這個答案,而不是用他自己的名字重新發布。 – mudasobwa

1

爲什麼不檢查針對「時裝週雜誌」或「世界性」網站的unix時間戳正確性?

UNIX時間戳是自1970-01-01 UTC的秒數量持續:

date --date='@1478698378000' 
mar feb 1 14:26:40 CET 48828 

BTW,下降近三年零讓你回到你所預期的:

date --date='@1478698378' 
mié nov 9 14:32:58 CET 2016