作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试使用 Ruby on Rails 中的 flipclock 对某些事件进行倒计时。
我试图找到 EST 事件的时差。
time_diff = <%= (Time.utc(2016, 7, 2, 18, 14, 0).in_time_zone("Eastern Time (US & Canada)") - Time.now.in_time_zone("Eastern Time (US & Canada)")).to_i.abs %>;
我试图通过相差一小时来检查它是否正确,但我总是得到错误的剩余小时数。
最佳答案
我认为这就是您所追求的:
(ActiveSupport::TimeZone.new("EST").local(2016, 7, 2, 18, 14, 0) - Time.now).to_i.abs
你问题中的代码等同于
(Time.utc(2016, 7, 2, 18, 14, 0) - Time.now).to_i.abs
您可能希望表达式的第一部分表示“18:14 EST”,但它的意思是“18:14 UTC……但要显示 EST 的时间”。
如果你注意到它可能会澄清事情
Time.utc(2016, 7, 2, 18, 14, 0).in_time_zone("EST") == Time.utc(2016, 7, 2, 18, 14, 0)
因为
Time.utc(2016, 7, 2, 18, 14, 0).in_time_zone("EST").to_i == Time.utc(2016, 7, 2, 18, 14, 0).to_i
但是
Time.utc(2016, 7, 2, 18, 14, 0).in_time_zone("EST").to_s != Time.utc(2016, 7, 2, 18, 14, 0).to_s
关于ruby-on-rails - 如何在 Ruby on Rails 中查找时区中两个日期之间的剩余时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38164760/
我是一名优秀的程序员,十分优秀!