从历元转换为datetime是不正确

问题描述 投票:2回答:1

我一直在使用this answer以划时代的时间转换为DateTime。我有这样的时期号:

epoch = 1549626705942

然后执行:

Time.at(epoch).to_datetime

不过,我得到这个作为结果:

#<DateTime: 51075-09-19T08:45:42+02:00 ((20376082j,24342s,0n),+7200s,2299161j)>

我使用Ruby版本2.5.3p105和我的时钟设置为当前年份。这种划时代值计算为今天的日期(2019年2月2日),但我每年51075.真的不知道发生了什么事情。

这也是奇怪,因为,当我像this one网站进入我戳我得到今天的日期,但here我得到相同的结果,我的Ruby代码。

编辑:我试图删除最后3号这个日期,并得到了正确的日期。因此,它是有2时代“格式”这么说?

ruby unix unix-timestamp epoch
1个回答
3
投票

你是路过毫秒到Time::at()方法。你应该有过秒。链接文档是here

要检索大纪元值(单位:秒),使用Time#to_i

UPD

这会为你工作:

Time.at(0, your_epoch_milliseconds, :millisecond)
© www.soinside.com 2019 - 2024. All rights reserved.