我有一个时间戳字段。我想计算时间戳和当前时间之间的时差,并将时间显示为人类可读的内容,如
2 days remaining #don't show hours when > 1 day is remaining
剩下不到1天的时间我会有一个javascript倒计时器。
答案 0 :(得分:0)
我已经构建了dotiw
库来完成这项工作:http://github.com/radar/dotiw。
这是基于Rails中的distance_of_time_in_words
方法,这个方法不够准确,因此我使用dotiw
使其更准确。
答案 1 :(得分: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
如果end_date为&gt;则打印“X Days” 1天之后,HH:MM:如果今天结束则为SS,如果end_date过去则为“已结束”。