Question

J'ai une table de suppositions, au sein de chaque estimation est juste une date. Je me demandais comment j'allais au sujet de tourner deux ou plusieurs dates en moyenne.

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

Quelque chose comme ça, mais évidemment Ruby ne me laisse pas diviser les deux dates.

Était-ce utile?

La solution

La date est un peu difficile à travailler, vous devez utiliser Time. Essayez de convertir les dates en temps:

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

les convertir en horodatages, puis calculer la moyenne, puis reconvertir en temps:

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

Vous pouvez convertir ce retour à ce jour:

avg_date = Date.parse(avg.to_s)

Autres conseils

to_time.to_i

est mon ami;)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top