如何在Ruby中解析时间间隔?

时间:2012-01-31 08:49:57

标签: ruby parsing time

我有时间间隔字符串,如6:30 am – 2:30 pm5:30–11:00 pm(请注意这里的开始时间省略的“pm”)我要解析为Ruby中的Time对象。有没有一种优雅的方法可以做到这一点,还是我必须手动捕捉所有不同的情况?

4 个答案:

答案 0 :(得分:5)

答案 1 :(得分:2)

也许使用像Chronic这样的时间库可以帮到你?

答案 2 :(得分:2)

感谢慢性推荐,唉,它不提供间隔解析。使用Time.parse结束并手动解析间隔。

答案 3 :(得分:0)

这是一个执行此操作的代码段。它将采用iso8601格式的间隔字符串(格式为start,end),并从间隔返回开始和结束时间。

iso8601_interval_text = "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
start, finish = iso8601_interval_text.split(/\//).map {|t| Time.parse(t)}