2013-10-14 3 views
0

주 숫자보다 먼저 계산 된 주 수를 표시하려고합니다. "x 주 전" 1 주일 전, 2 주 전, 3 주 전, 1 개월 전, 2 개월 전, 1 년 전 등등주 단위로 주 수를 표시 하시겠습니까?

임 사용 방법 도우미 :

보기에서
def weeks_ago_in_words(from_time, include_seconds = false) 
    to_time = Time.now 
    weeks_ago = ((to_time - from_time)/1.week).abs 
    [nil, "last week", "two weeks ago", "three weeks ago"][weeks_ago] || 
     distance_of_time_in_words(from_time, to_time, include_seconds) 
    end 

:

= weeks_ago_in_words(Time.local(2013) + week.to_i) 

week = a week number like 1,10,28,52 etc 

이 나에게 올바른 resuls를 제공하지 않습니다,있는 "X 주 전에 계산하는 더 나은 방법이 "weeknumer에 따라?

답변

0

여기에 같은 해 두 날짜를 비교하는 경우 코드는 cweek을 사용하고 있습니다 : 당신이 두 개의 서로 다른 년을 비교하는 경우

require 'date' 

Time.now.to_date.cweek - Date.new(2013,1,1).cweek 

당신이해야합니다 몇 가지 조건 논리를 추가로 올해 승수를 결정하기 위해 cweek는 2012 년 12 월 31 일과 2013 년 1 월 1 일에 동일한 값을 반환합니다.

+0

시도했지만 작동하지 않습니다. 주 번호 만 기반으로 한 주간을 얻고 싶습니다. – Rubytastic

관련 문제