在Python中解析人类可读的日期时间持续时间

时间:2019-03-03 01:37:03

标签: python datetime

许多常见的人类可读日期时间可以使用datetime.strptime()进行解析,例如:

'15 March 2019 13:00'

我知道有几个Python软件包,它们可以将“模糊的”人类可读日期时间解析为Python日期时间对象,例如dateparserparsedatetime,它们可以解析诸如以下字符串:

'yesterday'
'next week'

但是有一个Python库可以将常见的人类可读的 datetime持续时间解析为开始和结束datetime 对象。例如:

'5 March 2019 13:00-18:30'
'5 March 2019 1:00-5:30pm'
'15-18 March 2019'
'2nd to 22nd March 2019'

进入:

[datetime.datetime(2019, 3, 5, 13, 0), datetime.datetime(2019, 3, 5, 18, 30)]
[datetime.datetime(2019, 3, 5, 13, 0), datetime.datetime(2019, 3, 5, 18, 30)]
[datetime.datetime(2019, 3, 15, 0, 0), datetime.datetime(2019, 3, 18, 0, 0)]
[datetime.datetime(2019, 3, 2, 0, 0), datetime.datetime(2019, 3, 22, 0, 0)]

或采用类似以下的字符串:

'15-17 March 2019'

并返回包含日期的列表

[datetime.datetime(2019, 3, 15, 0, 0), datetime.datetime(2019, 3, 16, 0, 0), datetime.datetime(2019, 3, 17, 0, 0)]

请注意,我有兴趣解析特定的日期和时间,而不是解析基于非日历的持续时间,例如'2 days''three weeks'

0 个答案:

没有答案