Zen*_*fin 1 ruby time ruby-on-rails
我正在使用假时间在UI中显示。我正在操纵这样的时间是随机的。
date: Time.zone.now - (i % 9).days - rand(3).days - rand(2).hours + rand(60).minutes
Run Code Online (Sandbox Code Playgroud)
但是我想四舍五入到3.35 pm的最近时间变成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
Run Code Online (Sandbox Code Playgroud)
现在你可以做类似的事情
time = Time.zone.now - rand(3).days - rand(2).hours + rand(60).minutes
time.round_off(30.minutes)
Run Code Online (Sandbox Code Playgroud)
我希望这可以为您提供帮助