将 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
根据 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