2011-08-30 21 views
1

我有一個字段是時間戳。我想計算出時間戳和當前時間之間的時間差和顯示時間的東西力所能及可讀像如何計算導軌中的時間差

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

一次不到1天的剩餘我有一個JavaScript的倒計時股票。

回答

0

我已經建立了dotiw庫來做到這一點:http://github.com/radar/dotiw

這是基於Rails中的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天」,如果END_DATE> 1一天的時間,HH:MM:如果SS結束今天,和 「結束」,如果END_DATE在過去。