Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从日期集合中查找平均日期(Ruby)_Ruby On Rails_Ruby_Date_Type Conversion_Average - Fatal编程技术网

Ruby on rails 从日期集合中查找平均日期(Ruby)

Ruby on rails 从日期集合中查找平均日期(Ruby),ruby-on-rails,ruby,date,type-conversion,average,Ruby On Rails,Ruby,Date,Type Conversion,Average,我有一张猜测表,每个猜测中都有一个日期。我想知道我该如何把两次或两次以上的约会变成平均数 <div id="logic"> <% foo = Date.today %> <% bar = Date.today + 10 %> <%= (foo + bar) / 2 %> 类似这样的,但显然Ruby不会让我把这两个日期分开 to_time.to_i 是我的朋友;) 日期有点难处理,你应该利用时间。尝试将日期转换为时间: require 't

我有一张猜测表,每个猜测中都有一个日期。我想知道我该如何把两次或两次以上的约会变成平均数

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

类似这样的,但显然Ruby不会让我把这两个日期分开

to_time.to_i

是我的朋友;)

日期有点难处理,你应该利用时间。尝试将日期转换为时间:

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)

在现实世界中,两次约会的平均值意味着什么?你想在两次约会中间找到一个约会吗?如果你有100个约会,他们的平均值在概念上会是多少?如果我链接到这个网站,你会更容易看到2010-03-18和2010-02-18这两个日期,我想输出这两个日期的平均值,并利用人群的智慧,投票越多,离iPad的实际发布日期就越近。我想我的例子中的平均值应该是Date.today+5