Ruby on rails 我应该如何处理RubyonRails中的估计日期?

Ruby on rails 我应该如何处理RubyonRails中的估计日期?,ruby-on-rails,ruby,Ruby On Rails,Ruby,对于我的申请,我需要处理估计日期,例如“大约1940年6月”需要被接受为大约1940年6月的正负2年。或者他们可以输入“大约1940年”需要接受为大约1940年前后2年。以下是可能的格式的完整列表 1940年 1940年11月 1940年11月 1940年11月6日 1940年11月6日 关于(日期) abt.(日期) 说(日期) bef。(日期) 在(日期)之前 船尾(日期) 在(日期)之后 在(日期)和(日期)之间 打赌。(日期)及(日期) 我可以编写自己的解析器,但问题是我不知道如何处

对于我的申请,我需要处理估计日期,例如“大约1940年6月”需要被接受为大约1940年6月的正负2年。或者他们可以输入“大约1940年”需要接受为大约1940年前后2年。以下是可能的格式的完整列表

  • 1940年
  • 1940年11月
  • 1940年11月
  • 1940年11月6日
  • 1940年11月6日
  • 关于(日期)
  • abt.(日期)
  • 说(日期)
  • bef。(日期)
  • 在(日期)之前
  • 船尾(日期)
  • 在(日期)之后
  • 在(日期)和(日期)之间
  • 打赌。(日期)及(日期)
我可以编写自己的解析器,但问题是我不知道如何处理奇怪的跨度。例如,如果他们说大约1940年,我需要说从1938年到1942年。或者1940年6月,我需要说1940年6月1日到1940年6月30日。我希望能够搜索这真的很好,这就是为什么我把一切都转换为日期时间。在db中是否有处理这一问题的最佳方法或任何想法

我试过慢性病,但它解析不正确,例如,如果你把“1940”放进去,它认为是今天19:40

有什么想法吗


谢谢。

我不确定您是否能够在不编写自己的解析器的情况下摆脱这一困境。我确实找到了这个,我没有用过,但它可能会让你开始


这是相当具体的,您可能会在一小时或更短的时间内完成此解析器。你有一套非常明确的可能性。写就行了。是的,这会有帮助,我的显示不是问题,有人对某种好的数据库模型有什么想法吗?