我使用dateparser以各种模式解析日期。
1)2011年4月22日
2)8。März2018
3)5小时前
它运行得非常好,但是当我在其他日子对同一数据运行相同的脚本时出现问题,因为在'5小时前'的模式中,它需要今天的日期作为基准日期。
所以我甚至浏览了dateparser的源代码,查看了文档,但没有找到任何实质性的东西。
有人可以建议我们如何在dateparser中指定基准日期?
另外请建议我,如果有任何其他库比dateparse更好,以解决这个问题。
代码: -
res['snippet'] = '''Apr 22, 2011 ... Ingen Technologies Inc.'s (OTC:IGNT) former CEO'''
date = res['snippet'].split('...')[0].strip()
try:
datee = dateparser.parse(date)
if not datee > datetime.datetime.now():
dataDict['date'] = datee.strftime('%d/%m/%Y')
else:
continue
except:
continue
答案 0 :(得分:1)
>>> from dateparser import parse
>>> import datetime
>>> parse(u'5 hours ago', settings={'RELATIVE_BASE': datetime.datetime(2011, 4, 22, 4)})
datetime.datetime(2011, 4, 21, 23, 0)
dateparser文档有一个关于settings
dict的部分,其中有一个键RELATIVE_BASE
,这就是您所要求的(https://dateparser.readthedocs.io/en/v0.7.0/#settings)