如何在Ruby on Rails中找到时区中两个日期之间的剩余时间?

时间:2016-07-02 21:49:33

标签: ruby-on-rails ruby ruby-on-rails-5

我正在尝试使用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 %>;

我尝试通过做一个小时的差异来检查它是否正确,但我总是得到错误的小时数。

1 个答案:

答案 0 :(得分:2)

我认为这就是你所追求的:

TextView toolbarTextView = (TextView) findViewById(R.id.toolbarTextView);

您问题中的代码等同于

(ActiveSupport::TimeZone.new("EST").local(2016, 7, 2, 18, 14, 0) - Time.now).to_i.abs

您可能希望表达式的第一部分表示&#34; 18:14 EST&#34;但这意味着&#34; 18:14 UTC ...但是显示EST的时间和#34;。

如果您注意到

,它可能会澄清事情
(Time.utc(2016, 7, 2, 18, 14, 0) - Time.now).to_i.abs

,因为

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