2012-05-02 47 views
13

我正在構建一個系統,需要在自然英語中提供對事物的評論。有一點是有用的,就是能夠以隨意的格式表達日期。我所尋找的基本上是Chronic,Natty或此問題中描述的任務的反例:Natural Language date and time parser for java日期自然語言生成器(Java)

這是否已經完成了?我是否應該嘗試將自己的簡單硬連線作品放在對我有意義的日期範圍內?還是有一些巧妙的方法來反轉現有的解析器來吐出(甚至是亂碼)描述日期的句子?

編輯 - 爲了澄清,雖然任何類型的輸出是有趣和有用的,我特別感興趣的不同/創造性的輸出世代。即「下週」,「從現在起七天」,「下週四」和「下週晚些時候」全部在同一日期。

+4

它們肯定存在,即[javascript](https://github.com/timrwood/moment)。雖然我不記得任何關於Java的東西。 – Andrew

+1

我不太明白你在問什麼,但是你想要生成「2012年5月2日」(〜)中的「星期三,5月2日的兩個」(〜),是否正確?如果是這樣,編寫一個能夠給你所需輸出的函數並不難。看到j​​ava的DateFormat類:http://docs.oracle.com/javase/6/docs/api/java/text/DateFormat.html – XenoRo

+0

@TheLima我認爲這是他想要的更多,'05/03/2012' - >'明天'或'05/07/2012' - >'下個星期一' – Andrew

回答

4

那裏沒有太多。我個人很喜歡看到一種名爲RelativeDateFormatter的SimpleDateFormatter變體,它可以讓你創建自己的相對日期格式變體。這裏是我發現的:

  • 一個簡單的Relative Date類。
  • A relative date formatter(so someone did make one one!)。
  • Pretty time也像它符合該法案 - 它在一個maven回購的地方,如果你找到稱心如意的東西多數民衆贊成...

只是順便說一句,我發現這個職位約why relative date formats suck。提供只有相對日期可能是一個錯誤:如果信息將在以後保存,相對日期可能是無用的。在我製作的網站中,我提供了絕對日期的鼠標懸停和CSS規則以顯示絕對日期。我想要記住的事情:考慮如何/何時查看日期。如果他們不是「現在」,那麼你可能要考慮包括絕對日期。

+0

我喜歡Pretty Time,看起來不錯。我會盡早和安德魯提出的'時刻'的建議。我會盡快回復你! – mtrc