将毫秒时间戳舍入到最接近的 30 秒
Round millseconds timestamp to nearest 30 seconds
我有以下 ruby 代码来获取当前时间(以“毫秒”为单位),例如:1648059542287
相当于 Wed Mar 23 2022 18:19:02
我需要的是四舍五入到最接近 30 秒的时间戳,例如,我需要四舍五入到 1648059540000
。有什么建议吗?
@ctime = Time.now.to_f
(@ctime * 1000).to_i
利用您提供的时间,我认为这会达到您的要求:
- 慢慢来,将其转换为整数
- 除以浮点值 30 半分钟数
- 将该值四舍五入并乘以 30 得到秒数
- 根据四舍五入的值创建一个新的时间对象。
input = Time.at(1648059542,287000)
Time.at((input.to_i / 30.0).round * 30)
我有以下 ruby 代码来获取当前时间(以“毫秒”为单位),例如:1648059542287
相当于 Wed Mar 23 2022 18:19:02
我需要的是四舍五入到最接近 30 秒的时间戳,例如,我需要四舍五入到 1648059540000
。有什么建议吗?
@ctime = Time.now.to_f
(@ctime * 1000).to_i
利用您提供的时间,我认为这会达到您的要求:
- 慢慢来,将其转换为整数
- 除以浮点值 30 半分钟数
- 将该值四舍五入并乘以 30 得到秒数
- 根据四舍五入的值创建一个新的时间对象。
input = Time.at(1648059542,287000)
Time.at((input.to_i / 30.0).round * 30)