许多常见的人类可读日期时间可以使用datetime.strptime()
进行解析,例如:
'15 March 2019 13:00'
我知道有几个Python软件包,它们可以将“模糊的”人类可读日期时间解析为Python日期时间对象,例如dateparser和parsedatetime,它们可以解析诸如以下字符串:
'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'
。