web-dev-qa-db-ja.com

Timeオブジェクトに分を追加する

RubyではTime.now + 10.hoursを実行できます...

秒と分に相当するものはありませんか?例:Time.now + 15.mins.

65
keruilin

Ruby(プログラミング言語)には10.hoursがありません。Ruby on Rails(Webフレームワーク)の一部としてActiveSupportです)。はい、 minutesseconds の両方のメソッドがあります。

ただし、 Time#+ (Timeインスタンスの+メソッド)は、その数秒後の新しいTimeインスタンスを返します。したがって、Ruby on Rails砂糖は、単に次のようにすることができます。

irb> t = Time.now
#=> 2011-08-03 22:35:01 -0600

irb> t2 = t + 10               # 10 Seconds
#=> 2011-08-03 22:35:11 -0600

irb> t3 = t + 10*60            # 10 minutes
#=> 2011-08-03 22:45:01 -0600

irb> t4 = t + 10*60*60         # 10 hours
#=> 2011-08-04 08:35:01 -0600
126
Phrogz

ActiveSupportを使用している場合、探しているのは完全な.minutesおよび.seconds

Time.now + 10.minutes
Time.now + 10.seconds
66
twe4ked

ActiveSupportでも次のことができます:

10.minutes.from_now

10.minutes.ago
16
mahi-man

あなたはRailsによって追加された拡張機能について話していると思います。 15.minutes

こちらのドキュメント をご覧ください

1
Gishu