12

私は推測の表を持っています、それぞれの推測の中にはただの日付があります。2つ以上の日付を平均にするにはどうしたらいいのだろうと思っていました。

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

このようなものですが、明らかにRubyでは2つの日付を分割できません。

4

2 に答える 2

14

日付は少し扱いに​​くいので、時間を使用する必要があります。日付を時間に変換してみてください。

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)
于 2010-02-18T11:33:48.230 に答える
2
to_time.to_i

私の友達です;)

于 2010-02-18T11:04:35.343 に答える