我错过了什么,或者解析时间不是这样的日期范围:
"Next January"
- 理想情况下应返回('Jan 1st 2012', 'Jan 31st 2012')
(sudo代码 - 显然是正确的python日期对象)
同样,
"Tomorrow"
可能会返回('Dec 23rd 2011 00:00', 'Dec 23rd 2011 23.59')
我认为它可以将"Aug 24th - Sept 1st 2012"
之类的内容解析为范围 - 我想知道它是否可以执行单个短语日期并将其解决?
或者,如果它可以告诉我它找到了什么日期/时间段 - 例如第一个例子的month
,第二个例子的day
。
由于 盖
答案 0 :(得分:4)
查看源代码我看到一些正则表达式,几乎可以解释可以解析哪种范围(我删除了一些处理语言环境的行):
# "06/07/06 - 08/09/06"
self.DATERNG1 = self.RE_RDATE + r'\s?%(rangeseperator)s\s?' + self.RE_RDATE
# "march 31 - june 1st, 2006"
self.DATERNG2 = self.RE_RDATE3 + r'\s?%(rangeseperator)s\s?' + self.RE_RDATE3
# "march 1rd -13th"
self.DATERNG3 = self.RE_RDATE3 + r'\s?%(rangeseperator)s\s?(\d\d?)\s?(rd|st|nd|th)?'
# "4:00:55 pm - 5:90:44 am", '4p-5p'
self.TIMERNG1 = self.RE_RTIMEHMS2 + r'\s?%(rangeseperator)s\s?' + self.RE_RTIMEHMS2
# "4:00 - 5:90 ", "4:55:55-3:44:55"
self.TIMERNG2 = self.RE_RTIMEHMS + r'\s?%(rangeseperator)s\s?' + self.RE_RTIMEHMS
# "4-5pm "
self.TIMERNG3 = r'\d\d?\s?%(rangeseperator)s\s?' + self.RE_RTIMEHMS2
# "4:30-5pm "
self.TIMERNG4 = self.RE_RTIMEHMS + r'\s?%(rangeseperator)s\s?' + self.RE_RTIMEHMS2
正如您所看到的,在所有正则表达式中都使用了一个分隔符来决定拆分字符串的位置,然后解析开始日期和结束日期。
因此,作为对您的问题的回答,目前无法将单个短语解析为当前实现的范围。