Kar*_*tle 12 ruby average ruby-on-rails date type-conversion
我有一个猜测表,每个猜测只是一个日期.我想知道如何将两个或更多日期变成平均值.
<div id="logic">
<% foo = Date.today %>
<% bar = Date.today + 10 %>
<%= (foo + bar) / 2 %>
Run Code Online (Sandbox Code Playgroud)
像这样的东西,但显然Ruby不会让我分开这两个日期.
Hon*_*gli 14
日期有点难以使用,您应该使用Time.尝试将日期转换为时间:
require 'time'
foo_time = Time.parse(foo.to_s)
bar_time = Time.parse(bar.to_s)
Run Code Online (Sandbox Code Playgroud)
将它们转换为时间戳,然后计算平均值,然后转换回时间:
avg = Time.at((foo_time.to_f + bar_time.to_f) / 2)
Run Code Online (Sandbox Code Playgroud)
您可以将其转换回日期:
avg_date = Date.parse(avg.to_s)
Run Code Online (Sandbox Code Playgroud)