gpt4 book ai didi

ruby - 从纪元到日期时间的转换不正确

转载 作者:数据小太阳 更新时间:2023-10-29 08:42:32 26 4
gpt4 key购买 nike

我一直在使用 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 个纪元“格式”?

最佳答案

您正在将毫秒传递给 Time::at() 方法。你应该在那里过秒。文档链接是 here .

要检索 Epoch 值(以秒为单位),请使用 Time#to_i

UPD

这对你有用:

Time.at(0, your_epoch_milliseconds, :millisecond)

关于ruby - 从纪元到日期时间的转换不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54592312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com