擅长:python、mysql、java
<p>基于@MartinEvans的anwser,但是使用<a href="http://arrow.readthedocs.io/en/latest/#arrow-better-dates-and-times-for-python" rel="nofollow noreferrer">^{<cd1>}</a>库:(因为它处理的案例比datetime多,所以您不必使用<code>replace()</code>或{<cd3>})</p>
<p>第一次安装箭头:</p>
<pre><code>pip install arrow
</code></pre>
<p>然后尝试每种可能的格式:</p>
^{pr2}$
<p>将输出:</p>
<pre><code>04/03/2017
04/03/2017
04/03/2017
04/04/2017
04/03/2017
</code></pre>
<p>如果您不确定日期格式中的错误,如果没有日期与格式匹配,也可以输出一条不错的错误消息:</p>
<pre><code>def convert_datetime(date):
for format in formats:
try:
print arrow.get(date, format).format('MM/DD/YYYY')
break
except (arrow.parser.ParserError, ValueError) as e:
pass
else:
print 'For date: "{0}", {1}'.format(date, e)
convert_datetime('124 5 2017') # test invalid date
</code></pre>
<p>将输出以下错误消息:</p>
<pre><code>'For date: "124 5 2017", month must be in 1..12'
</code></pre>