2011-08-30 9 views
1

나는 타임 스탬프 인 필드가 있습니다. 그 타임 스탬프 및 현재 시간 사이의 시간 차이를 계산하려면 내가 자바 스크립트 카운트 다운 시세를해야합니다 남아레일의 시간차를 계산하는 방법

2 days remaining #don't show hours when > 1 day is remaining

번 미만 1 이상 일 같은 인간적으로 읽을 수있는 무언가로 시간을 보여줍니다.

답변

0

정확히 이것을 수행하기 위해 dotiw 라이브러리를 구축했습니다 : http://github.com/radar/dotiw.

이것은 레일스의 distance_of_time_in_words 방법을 기반으로합니다.이 방법은 충분히 정확하지 않으므로, dotiw을 사용하여보다 정확하게 만들었습니다.

+0

이 내 gemfile에 당신의 보석을 추가했습니다. 감사. 그러나 시간이 남을 때 시간을 표시하지 않는 논리는 하루가 넘는 날에 구현 될 것인가? – Mike

0

이 시도 : 종료일은 일일 거리>의 경우

if end_date < Time.now # ended already 
    return 'Ended' 
elsif end_date > (Time.now + 1.day) # more than 1 day away 
    diff_in_days = ((end_date - Time.now).to_i/1.day) 
    days_string = diff_in_days.to_s 
    days_string += (diff_in_days > 1) ? ' Days' : ' Day' 
    return days_string 
else # ending today 
    diff_in_HMS = Time.at(end_date - Time.now).gmtime.strftime('%R:%S') 
    return diff_in_HMS 
end 

그것은 "X 일"을 인쇄, HH를 : MM : SS 끝나는 경우 나 오늘이나 종료일이 과거에 있었다면 "종료".