Найдите среднюю дату от набора дат (Ruby)

У меня есть таблица предположений, в каждом предположении просто дата. Я задавался вопросом, как я пойду о превращении двух или больше дат в среднее число.

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

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

12
задан ROMANIA_engineer 21 October 2017 в 09:25
поделиться

2 ответа

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

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

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

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

Вы можете преобразовать это обратно в дату:

avg_date = Date.parse(avg.to_s)
14
ответ дан 2 December 2019 в 20:17
поделиться
to_time.to_i

Мой друг;)

2
ответ дан 2 December 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: