Rails:解析错误的日期数据



我正在尝试解析不同格式的日期列表:

dates = ['01:00pm  06/03/2015', '03:30pm 05/28/2015', '0900am 06/13/2015', '0300pm 06/02/2015', '0300pm06/02/2015', '03:30pm 28/01/2015']

这样的例子不胜枚举。本质上,我需要使任何日期和时间的意义,可以输入到一个文本字段。在这方面,我无法控制数据源。我能帮什么忙吗?一些巨大的正则表达式方法?

到目前为止,我有一个有效的日期方法检查,如下所示:

def valid_date(date)
  Date.valid_date?(*date.split('/').reverse.map(&:to_i))
end

我想我应该首先拆分日期和时间,特别是因为有些人提交的数据没有空格。如何解决这个巨大的问题?

我推荐使用mojombo/chronic gem。但老实说,你有一个很难解决的问题。如果没有一个日期是结构化的,那么您实际上是在尽您最大的猜测来解析它。我不确定你的要求是什么,但我建议修改数据。使用慢性宝石,至少它能让你接近目标。你甚至可以写"this tuesday 5:00""2 days ago"

相关内容

  • 没有找到相关文章