gpt4 book ai didi

ruby - 如何在ruby中使用时区将时间戳转换为秒

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:42 25 4
gpt4 key购买 nike

当我将时间戳转换为秒时,为什么 ruby​​ 不减去时区?

1.9.3-p429 :008 > a = Time.now()
=> 2013-09-27 16:23:17 +0300
1.9.3-p429 :011 > a.utc
=> 2013-09-27 13:23:17 UTC
1.9.3-p429 :009 > a.to_i
=> 1380288197
1.9.3-p429 :010 > a.utc.to_i
=> 1380288197

a.to_i 应该比 a.utc.to_i 高 3 小时(10800 秒),我需要它,我该怎么做?

最佳答案

这是关于 Ruby 中的 Time 的事情。 Time.now.to_f 给你 number of seconds since the Epoch.有关 Epoch 的更多信息是 available on wikipedia

要获得两个 Time 对象之间的差异,您应该将它们相减以获得 差异,如 noted in the docs .

要获得保持相同时间但具有不同 UTC 偏移量的两个对象之间的差异(如您的问题所示),只需使用 utc_offset 方法。

a = Time.now
b = Time.now.utc

difference = (b.utc_offset - a.utc_offset)/60/60
#=> 5

关于ruby - 如何在ruby中使用时区将时间戳转换为秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19052550/

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