這是一個老問題,但我有同樣的一個,發現this article announcing datautil,其目的是處理日期,如:
- 日期在遙遠的過去和未來,包括BC/BCE日期
- 日期在野生多種格式:揚1890年一月1890年,1890年12月1日,1890年春季變化等精密的
- 日期:例如: 1890年,1890年至1801年(即1890年1月),1890年1月2日
- 不精確的日期:c1890,1890年?1890年佛羅里達州等
安裝只是
pip install datautil
我只對它進行了幾分鐘的探索,但注意到它不接受str作爲參數(只有unicode),它實現了它自己的日期類(Flexidate,'ISO8601'的稍微擴展版本),它是sort也許有用。
>>> from datautil.date import parse
>>> parse('Jan 1890')
error: 'str' object has no attribute 'read'
>>> fd = parse(u'Jan 1890')
<class 'datautil.date.FlexiDate'> 1890-01
fd.as_datetime()
>>> datetime.datetime(1890, 1, 1, 0, 0)
>>> bc = parse(u'2000BC')
<class 'datautil.date.FlexiDate'> -2000
但唉...
>>> bc.as_datetime()
ValueError: year is out of range
不幸的是我,我一直在尋找的東西,可以處理日期與 「circa」
>>> ca = parse(u'ca 1900')
<class 'datautil.date.FlexiDate'> [UNPARSED: ca 1900]
哦(C,CA約,保監會或CCA。) - 我我總是可以發送一個拉請求;-)
你的日期模糊的性質可能會滾動你自己的日期時間類。 – 2013-04-07 01:28:57
@JoelCornett是的,但實際價值的不確定性本身就是真正的價值。因此,任何可以做日期時間(處理BC和timedeltas)的[模塊或數據結構](http://stackoverflow.com/a/19869864/623735)都應該用於Roger的數據。如果羅傑的模糊性只能用自然語言來定義,那麼他需要量化他應用程序某處的模糊程度(否則他會將他的數量記錄爲字符串),那麼他需要情感分析(自然語言處理)。 – hobs 2013-11-08 22:51:28