2010-02-18 6 views
11

나는 추측의 테이블을 가지고 있습니다. 각각의 추측 내에 단지 날짜 일뿐입니다. 두 개 이상의 날짜를 평균으로 바꾸는 방법에 대해 궁금합니다. 날짜 수집에서 평균 날짜 찾기 (루비)

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

이런 식으로 뭔가

,하지만 분명히 루비는 나에게 두 날짜를 분할하지 않습니다.

+0

현실 세계에서 두 날짜의 평균은 무엇을 의미합니까? 두 날짜 사이의 중간에 날짜를 찾으려고하십니까? 100 개의 날짜가있는 경우 개념적으로 평균은 무엇입니까? – Simon

+0

아마 내가 사이트에 링크하면 http://www.expct.info/products/3 두 개의 날짜 2010-03-18 및 2010-02-18 ID를 볼 수 있습니다. 두 사람이 군중의 지혜를 사로 ​​잡으면, 더 많은 사람들이 iPads 릴리즈의 실제 날짜에 더 가까워 지도록 투표합니다. 내 예제에서 평균은 Date.today + 5 일 것입니다. –

답변

13

날짜 당신은 시간을 사용해야 작업하기 조금 어렵다)

+0

도움을 주신 데 대해 감사드립니다. –

2
to_time.to_i 

내 친구입니다. 시간으로 날짜를 변환하십시오 :

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

타임 스탬프로 변환 한 다음 평균을 계산 한 다음 시간에 다시 변환 :

avg_date = Date.parse(avg.to_s) 
:

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

당신은 날짜에 그것을 다시 변환 할 수 있습니다