Подтвердить что ты не робот

Найти среднюю дату из коллекции дат (Ruby)

У меня есть таблица догадок, в пределах каждой догадки есть только дата. Мне было интересно, как бы я стал превращать две или более дат в среднем.

<div id="logic">
<% foo = Date.today %>
<% bar = Date.today + 10 %>
<%= (foo + bar) / 2 %>

Что-то вроде этого, но, очевидно, Ruby не позволит мне разделить две даты.

4b9b3361

Ответ 1

Дата немного сложнее работать, вы должны использовать Time. Попробуйте преобразовать даты в Times:

require 'time'
foo_time = Time.parse(foo.to_s)
bar_time = Time.parse(bar.to_s)

Преобразуйте их в метки времени, затем вычислите среднее значение, а затем вернитесь к Time:

avg = Time.at((foo_time.to_f + bar_time.to_f) / 2)

Вы можете преобразовать его в Date:

avg_date = Date.parse(avg.to_s)

Ответ 2

to_time.to_i

Мой друг;)