duration_to_sec("3m") => 180
也许类似于https://gist.github.com/tim-evans/d0ba1e8f05a55b76c49c但是包装成一个漂亮的宝石,或者更好的内部函数来做到这一点。
编辑:我无法使用ActiveRecord;另外,不是要寻找实现。我已经写了一个。只是寻找可能已经实现此功能的gem。谢谢!
答案 0 :(得分:2)
看看GoTo reference和fugit,两者都能胜任。
fugit
似乎更易于维护,直接使用它的人并不多,但这是某些受欢迎的宝石的依赖项。
chronic_duration
本身更为人所知,但似乎没有得到维护。这也更简单。
我当前正在使用chronic_duration
:
> ChronicDuration.parse '1m'
=> 60
> ChronicDuration.parse '1m60s'
=> 120
答案 1 :(得分:1)
ActiveSupport为您提供:
3.minutes # => 180 seconds
3.minutes.to_i # => 180
(3.minutes + 5.hours).to_i # => 18180