Получение разницы между 2 датами - PullRequest
4 голосов
/ 19 января 2012

Я хочу получить количество дней, часов и минут между двумя датами.Как мне это сделать?

Ответы [ 2 ]

6 голосов
/ 20 октября 2012

Я не нашел функцию Ruby-ish seconds_to_hours (хотя ее тривиально построить), но в конце этого поста есть очевидное решение.

s = Time.now
e = Time.now + 3.hours
d = e - s
 => 10803.318176 

Примечание. Это значение просто число с плавающей точкой, представляющее секунды между двумя значениями даты.

Я бы хотел, чтобы часы вернулись. Для этого вы делитесь на время в секундах.

b = d / 1.hour.seconds
 => 3.0009217155555556

Моя цель состояла в том, чтобы получить десятичное значение часов, округленное до ближайших 6 минут, поэтому:

r = b.round(1)
 => 3.0

Подводя итог:

r = ((e - s) / 1.hour.seconds).round(1)
 => 3.0
0 голосов
/ 19 января 2012
d3=d1-d2
d3.days
d3.hours
d3.min
d3.sec
#etc...

Примечание: Это ответ на оригинальный вопрос , а не на другой вопрос, в который он был отредактирован после опубликования ответа.

Однако, как отметил @dukedave в комментариях, это не совсем рабочий ответ.Пожалуйста, используйте @ RealCasually's ответ ниже.

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