python - 如何从人类日期获得一致的日期时间对象?
问题描述
我想转换人工调度对话,例如:
- 从现在起 30 分钟或 30 分钟
- 明天晚上七点到八点
- 一个半小时
到日期时间对象或持续时间。我能够找到有用的 python 包,例如timefhuman和dateparser,但它们都只能做很少的事情而不是全部。
例子:
print(timefhuman('30 minutes'))
给出:
return TimeToken(relative_hour=hour, minute=minute, time_of_day=time_of_day)
File "/Users/Daniyal/opt/anaconda3/lib/python3.8/site-packages/timefhuman/data.py", line 297, in __init__
assert 0 <= self.hour < 24
AssertionError
虽然print(dateparser.parse('30 minutes'))
给:
2021-03-28 12:46:08.979070
这是它自己的格式(过去与未来),如果我同时使用这两种格式,这会使应用程序易碎且难以扩展。例如这种情况:
print(timefhuman('1.5 hour'))
给出:
2021-01-05 00:00:00
尽管:
print(dateparser.parse('1.5 hour'))
给出:
2021-03-28 08:38:27.310565
结果完全不同。
& 有时没有人给出诸如“一个半小时”之类的字符串的答案。
我该怎么办?鉴于每个都有自己的局限性,即使一起使用,结果也不同。
解决方案
推荐阅读
- keras - keras Convolution2D 生成的过滤器
- python - 在python(tkinter)中乘以移动矩形
- python - 将 pyqt5 转换为 exe 时出错:“无法执行脚本”
- c# - 我在将 datagridview 传输到 Excel 时遇到问题
- php - 如何使用 PHP 和 MYSQL 在单个单元格数据库中插入/存储多个项目
- python - 为什么 django Unittest 在比较 numpy.float64 的两个实例时会抛出断言错误?
- apache - 如何在 RedHat 服务器上安装 httpd?什么 Yum 存储库?
- python - 收集期间的 Pytest 错误会中断程序运行
- fragment-shader - 在 WebGL2 的着色器中读取模板纹理
- google-chrome - Unity WebGL如何让它在后台正常运行