0
我使用假時間顯示在我的用戶界面中。我正在操縱這樣的隨機時間。用紅寶石假時間輪到最近的半小時或者小時?
date: Time.zone.now - (i % 9).days - rand(3).days - rand(2).hours + rand(60).minutes
但是我想四捨五入到是下午3點35分變爲3.30
你知道我怎麼能做到這一點最接近的小時?
我使用假時間顯示在我的用戶界面中。我正在操縱這樣的隨機時間。用紅寶石假時間輪到最近的半小時或者小時?
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)
我希望這能來幫助你
你不需要'self.'在'self.to_f'中。 –
謝謝我將在我的一個項目中測試我的代碼,但我認爲這也是代碼風格 – MZaragoza