我在我的 UI 中使用假时间来显示。我正在像这样随机地操纵时间。
date: Time.zone.now - (i % 9).days - rand(3).days - rand(2).hours + rand(60).minutes
但是我想四舍五入到最接近的时间,即下午 3.35 变为 3.30
你知道我该怎么做吗?
最佳答案
你可以用这个方法扩展时间类 我通常在 lib/core_ext 目录中执行此操作
# lib/core_ext/time.rb
class Time
def round_off(seconds = 60)
Time.at((self.to_f / seconds).round * seconds)
end
end
现在你可以做类似的事情了
time = Time.zone.now - rand(3).days - rand(2).hours + rand(60).minutes
time.round_off(30.minutes)
希望对你有帮助
关于ruby-on-rails - 在 ruby 假时间中四舍五入到最接近的半小时或小时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46610599/