如何从人类日期获取一致的日期时间对象?

时间:2021-03-28 17:44:34

标签: python datetime nlp datetime-format python-datetime

我想转换人工调度对话,例如:

  • 从现在起 30 分钟或 30 分钟后
  • 明天晚上 7 点到 8 点
  • 一个半小时

到日期时间对象或持续时间。我能够找到有用的 python 包,例如 timefhumandateparser,但它们都只能做一些事情,而不是全部。

示例:

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

结果完全不同。

& 有时没有人给出诸如“一个半小时”之类的字符串的答案。

我该怎么办?鉴于每个都有自己的局限性,即使一起使用,结果也是不同的。

0 个答案:

没有答案