ruby-on-rails - Rails – 将持续时间转换为整数

标签 ruby-on-rails ruby ruby-on-rails-3

我需要根据持续时间运行 Rails 条件。

持续时间的格式如下(显示略高于 14 秒):

duration = "00:00:14.01"

我想知道如何将上述持续时间转换为整数,以便我可以编写如下条件:

if duration > 45
    raise "This video is longer than 45 seconds!"
end

最佳答案

您可以按如下方式计算秒数:

require 'time'

t = Time.parse("00:00:14.01")
sec = t.hour*3600 + t.min*60 + t.sec
sec # => 14

此处重要的方法集是 - Time#hour , Time#min , Time#sec .

正如 @ChrisHeald 所建议的那样 -

 t = Time.parse("00:00:14.01") - Time.parse("00:00:00")

关于ruby-on-rails - Rails – 将持续时间转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20818551/

相关文章:

ruby-on-rails - 在 Ruby on Rails 上通过 form_tag 表单上传文件

ruby-on-rails - 在 API 中设计 RegistrationsController 创建操作

html - 链接和键盘焦点

ruby-on-rails - 如何从浮点输入中去除逗号?

ruby-on-rails - 在 Rails 3 中突出显示当前页面的最佳方式? -- 有条件地将 css 类应用于链接

ruby-on-rails - 删除 Assets 预编译的console.log

ruby-on-rails - 为什么ActiveRecord has_many使用delete_all而不是destroy_all?

ruby-on-rails - 从 Rails 4 中的 Controller 操作设置 Sass 变量

ruby - 在没有 `autoload` 的情况下在 Ruby 中自动加载类

ruby - 使用 Ruby 发出 HTTP 请求时出现 EOFError