x = Time.now
y = 1.hours.from_now
z = 1.hours.before_now
如果这个问题太愚蠢,我很抱歉。我想知道一个有效的方式来显示在红宝石之前和之后一小时。
感谢收看和帮助。
答案 0 :(得分:5)
Ruby中没有这样的方法。你必须这样做:
Time.now + 1*60*60 # 1.hours.from_now -> 1 hour, 60 minutes, 60 seconds
Time.now - 1*60*60 # 1.hours.before_now -> 1 hour, 60 minutes, 60 seconds
或者您可以在项目中加入activesupport
。
答案 1 :(得分:0)
你也可以这样写:
当前时间:
x = Time.now => 2017-02-14 11:55:17 +0530
一小时前(一小时前):
y = x - 1.hour => 2017-02-14 10:55:17 +0530
或
y = 1.hour.ago => 2017-02-14 10:55:17 +0530
`#在rails v4.2中可用
一小时后/之后(一小时后):
z = x + 1.hour => 2017-02-14 12:55:17 +0530
或
z = 1.hour.since => 2017-02-14 12:55:17 +0530
# available in rails v4.2
注意:此计算在x(存储时间)上执行而非实时(Time.now),但在以前的情况下,并且因为计算在实时执行(Time.now)