【发布时间】:2017-07-02 06:40:26
【问题描述】:
x = Time.now
y = 1.hours.from_now
z = 1.hours.before_now
如果这个问题太愚蠢,我很抱歉。我想知道在 ruby 中显示前后一小时的有效方法。 感谢观看和帮助。
【问题讨论】:
-
为了方便 Ruby 新手,请在需要时显示
require(此处为require 'time')。
x = Time.now
y = 1.hours.from_now
z = 1.hours.before_now
如果这个问题太愚蠢,我很抱歉。我想知道在 ruby 中显示前后一小时的有效方法。 感谢观看和帮助。
【问题讨论】:
require(此处为require 'time')。
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,然后一小时你有60分钟,一分钟有60秒。因此,1*60*60,同样的 2 小时你有:2*60*60
你也可以这样写:
当前时间:
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)上执行
【讨论】: