ruby-on-rails - 从 End_time (UTC) 中减去 Time.now 得到一个 float (hhmmss.xx)。如何将其格式化为 HH :MM so that I can use it for a countdown timer?

标签 ruby-on-rails ruby

我有一个 end_time,我想为 end_time.utc - Time.now 创建一个计时器。但是,当我减去该值时,我得到一个像 23510.29642 这样的 float ,我发现它代表小时、分钟、秒,后跟句点和毫秒。

end_time
=>  Wed, 04 Jun 2014 19:00:00 UTC +00:00 

end_time.utc - Time.now
=> -24614.329399 

如何格式化 float ,以便在不手动解析字符串的情况下获得 -2:46

最佳答案

两个 Time 对象之间的差异返回两个时间之间的秒数。

e = Time.parse("Wed, 04 Jun 2014 19:00:00 UTC +00:00")
diff = e - Time.parse("Wed, 04 Jun 2014 21:49:00 UTC +00:00")

hours = (diff / 3600).to_i
minutes = (diff / 60).to_i % 60 # if e < Time.now then minutes = (diff / 60).to_i % 60 - 60
seconds = diff.to_i % 60 # same as minutes

puts hours # -2
puts minutes # -49
puts seconds # 0

关于ruby-on-rails - 从 End_time (UTC) 中减去 Time.now 得到一个 float (hhmmss.xx)。如何将其格式化为 HH :MM so that I can use it for a countdown timer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24050368/

相关文章:

ruby-on-rails - 在 Haml 中与本地人一起渲染部分内容?

ruby-on-rails - 测试未通过 : undefined method `authenticate!' for nil:NilClass?

ruby - 如何使交互式 Ruby 程序更好?

ruby - 将 Ruby 哈希转换为 YAML

ruby-on-rails - 将服务器上的回形针路径文件名更新为 s3

ruby - 关于表行和循环的 Watir 问题

ruby-on-rails - 将字符串作为 ruby​​ 中方法的条件传递

ruby-on-rails - bundle 安装通过没有错误,但在访问该站点时,我看到一个错误

ruby - 如何在带有 Ransack Gem 的 Rails 4 中将 sort_link 与模型实例方法一起使用?

ruby-on-rails - Rails rake 任务是否提供对 ActiveRecord 模型的访问?