Як додати хвилини до об’єкта Time


79

Як мені працювати в Ruby Time.now + 10.hours?

Чи існує еквівалент для secsі mins? Наприклад:

Time.now + 15.mins

1
Це не працює навпаки 10 + Time.now:: TypeError: Time can't be coerced into Fixnumале Time.now + 10працює .. для всіх, у кого однакові проблеми;)
Йо Людке

Відповіді:


144

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

@NailsonLandim, цілком може бути корисним Timerizer . "Синтаксис часу Rails без Rails."
Джефф Дікі,

Відповідною частиною документації щодо основних розширень є guides.rubyonrails.org/… та наступні два розділи.
Олов'яна людина

77

Якщо ви використовуєте ActiveSupport, то, що ви шукаєте, - це повний .minutesі .seconds.

Time.now + 10.minutes
Time.now + 10.seconds



1

Об'єкт часу

time = Time.now

Додавання хвилин до об’єкту часу:

time + 5.minutes

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.