如何在Rails中添加10天到当前时间
我试着做类似的事情
Time.now + 5.days
但是这并不起作用,即使我依稀记得2.years
,并且能够做出像2年之类的东西而留下深刻的印象。
我如何在Rails 3中做到这一点?
使用
Time.now + 10.days
甚至
10.days.from_now
这两个肯定工作。 你确定你在使用Rails,而不仅仅是Ruby吗?
如果你确实在Rails中,你试图从哪里运行? 请注意,Active Support必须加载。
days
, years
等是Active Support的一部分,所以这在irb
不起作用,但它应该在rails console
工作。
这绝对有效,我使用这个地方,我需要添加几天到当前的date:
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]
configuration您的Rails应用程序的时区 -
[5]
date只有结果中没有包含任何时间
在Rails上试试这个
Time.new + 10.days
在Ruby上试试这个
require 'date' DateTime.now.next_day(10).to_time