擅长:python、mysql、java
<p>根据前面的答案,您可以做的是:</p>
<ol>
<li>对输入进行预处理,以便获得开始和结束日期(例如:<code>20th June</code>和{<cd2>})。在第一个示例(<code>date_range == 22-24th July 2012</code>)中,可以使用<code>date_range.split(' ')[0].split('-')</code>来实现:这将返回<code>['22', '24th']</code>(只需删除<code>th</code>和类似的内容)</li>
<li>使用<code>dateutil.parser</code>:<code>dateutil.parser.parse('22 July 2012')</code>从这些日期中获取<code>datetime</code>对象</li>
</ol>
<p>下面是之前所说的一个实现:</p>
<pre><code>import dateutil.parser
date_range = '20-22th July 2013'
date_range = date_range.lower()
for suffix in {'th', 'rd', 'st'}:
date_range.replace(suffix, '')
days = date_range.split(' ')[0].split('-')
month_year = date_range.split(' ')[1]
begin, end = days[0] + ' ' + month_year, days[1] + ' ' + month_year
begin_date = dateutil.parser.parse(begin)
end_date = dateutil.parser.parse(end)
</code></pre>