Ruby unix日期不正确

时间:2017-01-16 11:47:54

标签: ruby unix

我有以下Unix时间戳:<input type="text" name="name" v-model="name" id="name" v-init:name="'{{old('name')}}'" class="form-control">

我试图将其显示为Ruby中的日期时间,例如

1478698378000

哪个应该返回日期:<%= Time.at(@timestamp).to_datetime %> ,但上面的代码实际上返回的日期为:Wed, 09 Nov 2016 13:32:58 GMT 忽略格式化!

如您所见,它认为时间戳是2月48828 13:26:40。

为什么日期时间完全不正确,以及到目前为止这一年的未来呢?检查http://www.epochconverter.com/上的时间戳会显示时间戳是正确的,因此Ruby会错误地返回它。

2 个答案:

答案 0 :(得分:6)

Time.at期望秒作为参数,您的时间戳是毫秒数。见documentation on Time.at

答案 1 :(得分:1)

为什么不在“Fashion Week Magazine”或“Cosmopolitan”网站上查看unix时间戳的正确性?

Unix时间戳是自1970-01-01 UTC以来持续的秒数:

date --date='@1478698378000'
mar feb  1 14:26:40 CET 48828
顺便说一下,丢掉最后三个零会让你回到你所期望的地方:

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