ruby-on-rails 如何在Rails中向当前时间添加10天

qcbq4gxm  于 2022-12-15  发布在  Ruby
关注(0)|答案(7)|浏览(175)

我试着做一些

Time.now + 5.days

但这不起作用,尽管我隐约记得看到过,并且印象深刻,能够做一些像2.years之类的事情。
在Rails3中我该怎么做呢?

vmdwslir

vmdwslir1#

用途

Time.now + 10.days

甚至

10.days.from_now


这两种方法都有效,你确定你在使用Rails而不仅仅是Ruby吗?
如果你确实在Rails中,你试图从哪里运行这个?注意,必须加载活动支持。

oug3syen

oug3syen2#

daysyears等是主动支持的一部分,因此这在irb中不起作用,但在rails console中应该起作用。

ru9i0ody

ru9i0ody3#

其他一些选项,仅供参考

-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]结果中仅包含日期,不包含时间
fhg3lkii

fhg3lkii4#

这绝对有效,我在任何需要向当前日期添加天数的地方都使用它:

Date.today + 5
x3naxklr

x3naxklr5#

在Rails上试试这个

Time.new + 10.days

在Ruby身上试试这个

require 'date'
DateTime.now.next_day(10).to_time
jckbn6z7

jckbn6z76#

在Ruby上试试这个,它将返回一个指定天数后的新日期/时间

DateTime.now.days_since(10)
zqdjd7g9

zqdjd7g97#

以下两者之间存在微小差异:
Time.now + 天
3.0.1:003〉Date.today + 1.day =〉2022年12月14日星期三
甚至
从现在起10天
3.0.1:002〉一米一分一秒=〉2022年12月14日15:49:57.35305172 +0600

相关问题