如何从现在开始一小时或在红宝石前一小时显示

时间:2017-02-14 05:06:29

标签: ruby time

x = Time.now
y = 1.hours.from_now
z = 1.hours.before_now
如果这个问题太愚蠢,我很抱歉。我想知道一个有效的方式来显示在红宝石之前和之后一小时。 感谢收看和帮助。

2 个答案:

答案 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)