Представление разницы во времени в Ruby - PullRequest
1 голос
/ 18 июля 2010

Есть ли в Ruby stdlib какие-либо объекты, представляющие разницу между двумя временными метками? Вычитание двух Time объектов друг из друга возвращает число с плавающей запятой в секундах - есть ли для этого какой-либо объект с такими методами, как hours, minutes и т. Д., И больше всего приличный to_s?

Я слишком долго кодировал методы с половинной оценкой, я делаю это неправильно?

Ответы [ 3 ]

3 голосов
/ 18 июля 2010

Не в stdlib, но есть Gem, который вы можете использовать для задания - duration gem.

sudo gem install duration

, который вы можете использовать следующим образом:

require "duration"
a = Time.now
sleep(5)
b = Time.now
duration = Duration.new(b - a)
# => #<Duration: 5 seconds>
duration.seconds
# => 5
duration.minutes
# => 0

И дни, часы, недели и куча других полезных методов.

Затем вы можете также установить время, дату и другие классы даты и времени для возврата объектов Duration.

1 голос
/ 18 июля 2010

возможно длительность помогает? Здесь - это объявление.

0 голосов
/ 09 марта 2011

Существует гем под названием time_diff , который возвращает хэш разницы в году, месяце, неделе, дне, часе, минуте, секунде

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