擅长:python、mysql、java
<p>只需取消对<code>strftime</code>的调用。在</p>
<pre><code>from datetime import datetime
demoDate='03-25-17'
requiredDate = datetime.strptime(demoDate, '%m-%d-%y') # Note: this line changed, no strftime anymore
print(requiredDate)
print(type(requiredDate))
</code></pre>
<p>输出</p>
^{pr2}$
<p>如你所愿。在</p>
<p>您也可以使用您最初拥有的代码将其输出为mm-dd-yyy格式的字符串:</p>
^{3}$
<p><strong>我认为您根据您的评论混淆了<em>表示</em>或<em>视图</em>和实际的抽象<em>基于您的评论。</strong></p>
<p><strong>对象本身是一个抽象的,它代表一个日期。如果你认为它是<code>03-25-17</code>还是<code>2017-03-25</code>,这并不重要。是同一天。它也不重要,你如何把它打成一个字符串(假设你在类上使用的方法将保持datetime对象的语义)。摘要日期本身保持不变。在</p>
<p>另一方面,您可以将<code>datetime</code>压缩成一个字符串,然后使用<code>datetime</code>类支持的任何格式在控制台中可视化该字符串。这包括mm-dd-yyy或dd-mm-yyyy。这些是相同日期的不同表示。换言之,对于这个日期抽象,有许多表示或视图,我们可以可视化,但我们这里只讨论一个抽象日期。在</p>
<p><strong>因此,您不能要求有一个日期时间,并确保它始终表示为mm-dd-yyy。这没有任何意义。</strong></p>