如何计算铁路时差

发布于 2024-12-02 04:25:55 字数 169 浏览 1 评论 0原文

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

剩余 2 天 #don't show hours when > >还剩 1 天

一旦剩下的时间少于 1 天,我就会有一个 javascript 倒计时计时器。

I have a field that is a timestamp. I want to calculate the time difference between that timestamp and the current time and show the time as something humanly readable like

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

once less than 1 day is remaining I'll have a javascript countdown ticker.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清泪尽 2024-12-09 04:25:55

我已经构建了 dotiw 库来做到这一点:http://github.com/雷达/dotiw

这是基于 Rails 中的 distance_of_time_in_words 方法,该方法不够准确,因此我使用 dotiw 使其更加准确。

I've built the dotiw library to do exactly this: http://github.com/radar/dotiw.

This is based off the distance_of_time_in_words method in Rails which is not quite accurate enough, and so I've made it more accurate with dotiw.

甜心小果奶 2024-12-09 04:25:55

试试这个:

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 > 则打印“X Days”距离今天还有 1 天,HH:MM:SS 如果今天结束,则“结束”如果 end_date 是过去的日期。

Try this:

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

It prints "X Days" if end_date is > 1 day away, HH:MM:SS if ending today, and "Ended" if end_date was in the past.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文