我尝试过
Time.now + 5.days
但是这并不管用,即使我依稀记得看到过,并且对能够做像 2.years这样的事情感到非常惊讶。
2.years
在 Rails 3中如何做到这一点?
使用
Time.now + 10.days
甚至
10.days.from_now
两个都很好用,你确定你在 Rails 而不只是 Ruby 吗?
如果您确实是在 Rails 中,那么您试图从哪里运行它呢?请注意,必须加载 ActiveSupport。
days、 years等是主动支持的一部分,所以这在 irb中不起作用,但在 rails console中应该起作用。
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]
[5]
在 Rails 上试试这个
Time.new + 10.days
在 Ruby 身上试试这个
require 'date' DateTime.now.next_day(10).to_time
在 Ruby 身上试试这个。 它将返回一个新的日期/时间指定的天数在未来
DateTime.now.days_since(10)