python - 如何确定 dateparser.search.search_dates() 是否返回日期、时间或日期时间
问题描述
试图回答另一个问题时,我偶然发现了以下问题:
dateparser.search.search_dates()
返回一个元组列表,每个元组由一个被识别为携带日期和/或时间信息的文本段组成,以及相应的datetime
(加上一个可选的语言代码,如果需要)。
如果段是日期类型,则仅设置 的日期字段datetime
。其他的取自当前时间,或者取自可以通过settings
参数提供的基本日期时间。如果段是时间类型,反之亦然。只有当段同时携带日期和时间信息时,datetime
才会设置所有的日期和时间字段。
☞ 我没有办法分辨哪些字段datetime
已设置,哪些未设置。☜</p>
我可能会提供一个特定的 base datetime
,并检查哪个字段组发生了变化,但是相对日期会从这个 base 偏移,更不用说其他问题了。
我错过了什么?如何区分日期、时间和日期时间?
示例代码:
for s in ("Soccer with @homies at Payne Whitney tomorrow at 2 pm to 4 pm!",
"Soccer with @homies at Payne Whitney tomorrow starting at 2 pm to 4 pm!"):
print()
print(s)
for part in search_dates(s):
print(part)
输出:
Soccer with @homies at Payne Whitney tomorrow at 2 pm to 4 pm!
('tomorrow at 2 pm', datetime.datetime(2020, 1, 15, 14, 0))
('4 pm', datetime.datetime(2020, 1, 14, 16, 0))
Soccer with @homies at Payne Whitney tomorrow starting at 2 pm to 4 pm!
('tomorrow', datetime.datetime(2020, 1, 15, 13, 31, 40, 681832))
('at 2 pm', datetime.datetime(2020, 1, 14, 14, 0))
('4 pm', datetime.datetime(2020, 1, 14, 16, 0))
解决方案
推荐阅读
- google-maps - 谷歌地图:滚动时沿 x 轴重复 GroundOverlay 图像
- java - 在非root用户下启动tomcat 9
- google-apps-script - 谷歌表格脚本 - 从活动单元格中获取命名范围
- asp.net-mvc - 无法在 Asp.net 核心操作中取消任务
- performance - 应用程序从博览会比本地更快。这正常吗?
- mysql - 应用多个过滤器时如何提高查询性能?
- mysql - 如何在 mysql 中优化以下查询?
- multithreading - 调度和线程量子
- php - 将 HTML 表格转换为图像
- javascript - 如何使用 Lodash