3

我有时间戳

timestamp = Time.now.utc.to_f

我需要在同一天的午夜 UTC 找到时间戳:

t = Time.at timestamp
Time.at(((t - t.hour * 3600).to_f / 3600).to_i * 3600).to_f

有没有办法获得相同的时间戳而不必将原始对象转换timestampTime对象?以类似于将时间戳四舍五入到最近一小时的方式:

(timestamp / 3600).to_i * 3600
4

1 回答 1

5

由于 UTC 时间戳从 1970 年 1 月 1 日UTC午夜开始,只需执行以下操作:

timestamp - timestamp % (3600*24)

这将为您提供世界标准时间最后一个午夜的时间戳。

要调整您的时区,只需在计算模数之前添加或删除相应的小时数,然后添加或删除它们以获得相应的 UTC 时间戳。

于 2013-04-10T15:07:15.350 回答