如何计算铁轨的时差

时间:2011-08-30 03:37:39

标签: ruby-on-rails-3 timestamp

我有一个时间戳字段。我想计算时间戳和当前时间之间的时差,并将时间显示为人类可读的内容,如

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

剩下不到1天的时间我会有一个javascript倒计时器。

2 个答案:

答案 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过去则为“已结束”。