将 unix 十六进制时间戳转换为 ruby 日期时间

Convert unix hex timestamp to ruby datetime

根据 this 服务,我有这样的十六进制时间戳 '6132103D'(从 facebook API 获取)我得到预期日期 Friday, September 3, 2021 12:08:29 PM。 我看过 such 讨论,但没有任何成功

无法使用 Time.at 因为我用字符串操作。

如果您提出一些解决方案或 gem 我可以使用,将不胜感激。

ruby 2.7.1 rails6.0.3.2

首先您需要将十六进制值转换为十进制。

然后,使用Time.at()DateTime.strptime()函数获取时间戳

2.5.3 :019 > DateTime.strptime(str.to_i(16).to_s, '%s')
 => Fri, 03 Sep 2021 12:08:29 +0000 

2.5.3 :020 > Time.at(str.to_i(16))
 => 2021-09-03 17:38:29 +0530 

使用https://www.epochconverter.com/hex

交叉验证
hex timestamp : 6132103D

等效时间戳:

GMT: Friday, September 3, 2021 12:08:29 PM
Your time zone: Friday, September 3, 2021 5:38:29 PM GMT+05:30
Decimal timestamp/epoch: 1630670909