解析时间跨度

时间:2013-10-26 01:33:14

标签: ruby-on-rails ruby datetime ruby-on-rails-3.2 timespan

我正在尝试使用字符串"00:04:55",并将其解析为某种Ruby对象,以便我可以获得总秒数。类似于C#中的一个简单的timespan

2 个答案:

答案 0 :(得分:2)

使用Time.strptime会做你想要的(我认为):

> require 'time' # not needed inside rails
> time = Time.strptime("06:04:55", "%H:%M:%S")
> time.sec
55
> time.min
4
> time.hour
6
> require 'active_support/core_ext' # not needed in rails
> time.seconds_since_midnight.to_i
21895

答案 1 :(得分:1)

你可以使用一个技巧,它不是很优雅,但应该这样做:

Date.parse(Time.now.strftime("%d")+' '+"00:04:55")
# => #<Date: 2013-10-26 ((2456592j,0s,0n),+0s,2299161j)>