时间表达式分析器

timeparse-plus的Python项目详细描述


注意

这是pytimeparse的叉子只有几个月和几年的变化才能得到支持。 这是专门用于PiqueServer的分叉。

Travis CI build statusTest code coverageLatest Version

版权所有(C)2014 Will Roberts<;wildwilhelm@gmail.com>;

根据mit许可证授权(请参见源文件timeparse.py以获取 详细信息)。

一个用来解析各种时间表达式的小python库, 灵感来自 this StackOverflow question

中定义的单个函数pytimeparse.timeparse.timeparse 库(也可用作pytimeparse.parse)解析时间 表达式如下:

  • 32m
  • 2h32m
  • 3d2h32m
  • 1w3d2h32m
  • 1w 3d 2h 32m
  • 1 w 3 d 2 h 32 m
  • 4:13
  • 4:13:02
  • 4:13:02.266
  • 2:04:13:02.266
  • 2 days,  4:13:02uptime格式)
  • 2 days,  4:13:02.266
  • 5hr34m56s
  • 5 hours, 34 minutes, 56 seconds
  • 5 hrs, 34 mins, 56 secs
  • 2 days, 5 hours, 34 minutes, 56 seconds
  • 1.2 m
  • 1.2 min
  • 1.2 mins
  • 1.2 minute
  • 1.2 minutes
  • 172 hours
  • 172 hr
  • 172 h
  • 172 hrs
  • 172 hour
  • 1.24 days
  • 5 d
  • 5 day
  • 5 days
  • 5.6 wk
  • 5.6 week
  • 5.6 weeks

它以秒为单位返回时间(如果 可能,否则为浮点数):

>>> from pytimeparse import parse
>>> parse('1.2 minutes')
72

可以使用 datetime标准库中的模块,如中所述 this other StackOverflow question

>>> from pytimeparse import parse
>>> import datetime
>>> parse('1 day, 14:20:16')
138016
>>> str(datetime.timedelta(seconds=138016))
'1 day, 14:20:16'

未来工作

    让用户更灵活地使用哪些字符 时间表达式中字段之间的分隔符(例如+可能 有用)。
  1. 国际化?
  2. 哇,https://github.com/bear/parsedatetime

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java的单元测试测试用例库。util。列出实现   java通过超类进行序列化/反序列化   java Android获取设备语言ISO字符串   java如何打开广告的行动。移动   Eclipse IDE for(嵌入式C/C++)开发者202012:经典的深色主题深黑色背景和菜单中的文本   java使用不同的内容动态创建TableView(JavaFX)   java JAXB将多个同名节点解组   java ClassDefNotFoundException,即使类由类加载器加载(服务器上安装了多个应用程序)   java有没有办法关闭在后端生成的MqttClient线程?   html如何在网站上的java小程序中包含图像?   java无法访问已分配给超类引用的子类实例变量   java在TableViewer中双击打开对话框   列出如何创建ListNode。JAVA   java如何从文本中输出的数组中放入随机图像