如何在 dateparser 库 python 中指定基准日期?
How to specify base date in dateparser library python?
我使用 dateparser 以各种模式解析日期。
1) 2011 年 4 月 22 日
2) 8. 2018 年三月
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
>>> 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
字典的,它有一个键 RELATIVE_BASE
,这就是您要问的 (https://dateparser.readthedocs.io/en/v0.7.0/#settings)
我使用 dateparser 以各种模式解析日期。
1) 2011 年 4 月 22 日
2) 8. 2018 年三月
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
>>> 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
字典的,它有一个键 RELATIVE_BASE
,这就是您要问的 (https://dateparser.readthedocs.io/en/v0.7.0/#settings)