如何在Rails中添加10天到当前时间

我试着做类似的事情

Time.now + 5.days 

但是这并不起作用,即使我依稀记得2.years ,并且能够做出像2年之类的东西而留下深刻的印象。

我如何在Rails 3中做到这一点?

使用

 Time.now + 10.days 

甚至

 10.days.from_now 

这两个肯定工作。 你确定你在使用Rails,而不仅仅是Ruby吗?

如果你确实在Rails中,你试图从哪里运行? 请注意,Active Support必须加载。

daysyears等是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 
Interesting Posts