이 오래된 질문이지만, 내가 같은 일을했고 같은 날짜 처리하도록 설계 this article announcing datautil, 발견
을 BC/BCE 포함 먼 과거와 미래에
- 날짜는 형식의 야생 다양한
- 날짜 날짜 : 년 1 월 1890 월 1890 1890년 12월 1일 등 다양한 정밀
- 날짜 봄 1890 : 예 1890, 1890-01 (즉 1890년 1월), 1890년 1월 2일
- 부정확 한 날짜 : c1890 1890?, FL 1890 등
설치는
pip install datautil
입니다 지금까지 몇 분 동안 만 살펴 보았지만 str을 인수 (유니 코드 만 사용)로 받아들이지 않으며 고유 한 날짜 클래스 (Flexidate, 'ISO8601'의 약간 확장 된 버전)를 구현한다는 점에 주목했습니다. 유용한 어쩌면.
>>> 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, 캘리포니아, CIRC 또는 CCA를...) - 나는 항상 풀 요청을 보낼 수 있다고 생각하십시오 .-)
날짜의 모호한 특성으로 인해 자신의 datetime 클래스를 사용할 수 있습니다. –
@ JoelCornett Yea,하지만 실제 가치의 불확실성은 그 자체로 실제 가치입니다. 따라서 Roger의 데이터에는 datetime의 기능을 수행 할 수있는 모든 모듈 또는 데이터 구조 (http://stackoverflow.com/a/19869864/623735)를 사용해야합니다 (BC 및 timedeltas 처리). Roger의 모호함을 자연어로만 정의 할 수있는 경우 앱의 어딘가에서 모호성을 수량화해야하므로 (그렇지 않으면 문자열로 수량을 기록 할 것입니다) 정서 분석 (자연 언어 처리)이 필요합니다. – hobs