python - 如何解析 Python 中的自由文本时间间隔,从几年到几秒不等?

标签 python time

我想使用 Python 像下面这样解析自由文本时间间隔:

  • 1秒
  • 2 分钟
  • 3 小时
  • 4 天
  • 5 周
  • 6 个月
  • 7 年

有没有一种轻松的方法来做到这一点,最好是简单地调用一个库函数?

我试过:

  • dateutil.parser.parse(),它可以理解秒到小时,但不能理解天或更长时间。
  • mx.DateTime.DateTimeDeltaFrom(),它理解了几天,但在几周或更长时间后失败了,而且是无声的(例如,它可能创建一个长度为 0 的间隔,或将“2 个月”解析为2 分钟)。

最佳答案

pytimeparse 库怎么样

以秒数形式返回时间:

from pytimeparse.timeparse import timeparse
>>> timeparse('33m')
1980
>>> timeparse('2h33m')
9180
>>> timeparse('4:17')
257
>>> timeparse('5hr34m56s')
20096
>>> timeparse('1.2 minutes')
72

来源似乎在这里https://github.com/wroberts/pytimeparse

关于python - 如何解析 Python 中的自由文本时间间隔,从几年到几秒不等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9775743/

相关文章:

c++ - 将 boost python 枚举作为参数传递

python - 在数据类中创建类变量的正确方法

C++语句重新排序

c - 如何减去两个 time_t 值(difftime 返回 double 而不是 time_t)?

python - 函数输出为整数(TypeError : must be str, 不是 int)

python - 关于 matplotlib.animation.FuncAnimation 的参数

python - 获取满足某些条件的 numpy 数组的元素

php - 如何将当前时间与 PHP 中的预设时间进行比较?

php - 从当前页面加载时间到特定时间的剩余时间

date - 如何计算结束日期