我試圖做類似如何10天添加到當前時間在Rails的
Time.now + 5.days
,但不起作用,即使我依稀記得看到,並且是非常深刻的印象,與能夠做什麼像2.years
等
我該怎麼做,在Rails 3的?
我試圖做類似如何10天添加到當前時間在Rails的
Time.now + 5.days
,但不起作用,即使我依稀記得看到,並且是非常深刻的印象,與能夠做什麼像2.years
等
我該怎麼做,在Rails 3的?
使用
Time.now + 10.days
甚至
10.days.from_now
兩個肯定工作。你確定你在使用Rails,而不僅僅是Ruby嗎?
如果你肯定是在Rails中,你在哪裏試圖從跑的?請注意,Active Support必須加載。
days
,years
,等等,都是積極支持的一部分,所以這不會irb
工作,但它應該在rails console
工作。
這絕對可行,我用這個地方我需要幾天添加到當前日期:
Date.today() + 5
一些其他的選擇,僅供參考
-10.days.ago
# Available in Rails 4
DateTime.now.days_ago(-10)
只是列出我知道所有的選項:
[1] Time.now + 10.days
[2] 10.days.from_now
[3] -10.days.ago
[4] DateTime.now.days_ago(-10)
[5] Date.today + 10
那麼,現在,如果我們關心時區,它們有什麼區別:
[1, 4]
隨着系統時區[2, 3]
有了您的Rails應用程序的配置時區[5]
僅日期沒有包括在結果時間試試這個on Rails的
Time.new + 10.days
嘗試這在紅寶石
require 'date'
DateTime.now.next_day(10).to_time
試試這個關於Ruby。 它會返回一個新的日期/時間天數指明在未來
DateTime.now.days_since(10)
這應該工作。你遇到了什麼錯誤? – cam 2011-01-11 05:21:30
爲有效支持添加標籤 – sethvargo 2011-01-11 05:32:39
它可以工作。正如你在軌道上,Time.zone.now聽起來更合適 – Ben 2018-03-08 07:50:19