我有时间间隔字符串,如6:30 am – 2:30 pm
或5:30–11:00 pm
(请注意这里的开始时间省略的“pm”)我要解析为Ruby中的Time对象。有没有一种优雅的方法可以做到这一点,还是我必须手动捕捉所有不同的情况?
答案 0 :(得分:5)
http://chronic.rubyforge.org? ; - )
答案 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)}