【问题标题】:How to parse time intervals in Ruby?如何在 Ruby 中解析时间间隔?
【发布时间】:2012-01-31 08:49:56
【问题描述】:

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

【问题讨论】:

    标签: ruby parsing time


    【解决方案1】:

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 谢谢。我的问题不是对单个时间字符串的解析,而是对时间间隔的解析,有时在开始时间省略了上午/下午。看起来慢性病对此没有帮助。
      【解决方案3】:

      感谢 Chronic 的推荐,唉,它不提供区间解析。最终使用Time.parse 并手动解析间隔。

      【讨论】:

        【解决方案4】:

        这是一个可以做到这一点的 sn-p。它将接受一个 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)}
        

        【讨论】:

          猜你喜欢
          • 2013-04-05
          • 2015-07-22
          • 1970-01-01
          • 1970-01-01
          • 2016-01-01
          • 2011-11-28
          • 1970-01-01
          • 2016-06-22
          • 1970-01-01
          相关资源
          最近更新 更多