Добавить минуты к объекту Time - PullRequest
64 голосов
/ 04 августа 2011

Так что в ruby ​​вы можете сделать Time.now + 10.hours ...

Нет эквивалента в секундах и секундах? Например, Time.now + 15 минут.

Ответы [ 4 ]

123 голосов
/ 04 августа 2011

Ruby (язык программирования) не имеет 10.hours, это ActiveSupport как часть Ruby on Rails (веб-фреймворк). И да, у него есть методы minutes и seconds.

Однако 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
66 голосов
/ 04 августа 2011

Если вы используете ActiveSupport, вам нужны полные .minutes и .seconds.

Time.now + 10.minutes
Time.now + 10.seconds
16 голосов
/ 06 октября 2015

Также в ActiveSupport вы можете сделать:

10.minutes.from_now

10.minutes.ago
1 голос
/ 04 августа 2011

Я думаю, вы говорите о расширениях, добавленных Rails. Я думаю, что вам нужно 15.minutes

См. документы здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...