2010-06-23 51 views
1

對於我的申請,我需要處理估計的日期,例如「約1940年6月」需要在1940年6月前後被接受爲正負兩年。或者他們可以輸入「約1940年」需要被接受爲正或負大約在1940年的2年。以下是可能的格式的完整列表。我應該如何處理Ruby on Rails中的估計日期?

  • 1940年
  • Nov.1940
  • 1940年11月
  • 6 Nov.1940
  • 1940年11月6日
  • 關於(日期)
  • 生根粉。 (Date)
  • say(date)
  • bef。 (日期)
  • 之前(日期)
  • 船尾。 (日期)
  • 後(日期)
  • 之間(日期)和(日期)
  • 賭注。 (日期)和(日期)

我可以寫我自己的解析器,但問題是這是我不知道如何處理奇怪的跨度。例如,如果他們說1940年左右,我需要從1938年至1942年說。或者在1940年6月,我需要說明1940年6月1日到1940年6月30日。我希望能夠很好地搜索到這一點,這就是爲什麼我將所有東西都轉換爲日期時間。是否有任何寶石來處理這個或任何想法在數據庫中的最佳方式來處理?

我嘗試過慢性,但它解析不正確,例如,如果你把「1940」它認爲是今天在19:40。

任何想法?

謝謝。

+0

這是相當具體的,你可能會淘汰這個解析器在一個小時或更少。你有一個非常明確的可能性。只是寫它。 – BobbyShaftoe 2010-06-23 18:44:32

回答

0

我不確定你是否能夠在不編寫自己的解析器的情況下襬脫這種困境。我確實發現了這一點,我沒有使用它,但它可能會讓你開始。

http://github.com/technoweenie/relative_time_helpers

+0

是的,這將有所幫助,我的展示不是問題,有沒有人有任何想法建立某種好的數據庫模型? – Joe 2010-06-23 19:10:28