擅长:python、mysql、java
<p><code>datetime.date</code>是一个日期-例如,我写这篇文章时,它是2021年7月5日。
<code>datetime.datetime</code>是日期上的特定时间-例如2021年7月5日14:04</p>
<p>你不能从一个<code>datetime</code>中减去一个<code>date</code>,它们是不可比的。您可以在它们之间进行转换,例如使用<code>datetime.combine()</code>从<code>date</code>和<code>time</code>创建一个<code>datetime</code>,或者使用<code>date()</code>实例方法从<code>datetime</code>截断为<code>date</code>。如果您希望继续使用<code>strptime</code>来解析输入,而不是切换到<a href="https://docs.python.org/3/library/datetime.html#datetime.date.fromisoformat" rel="nofollow noreferrer">^{<cd13>}</a>或使用第三方库(如<a href="https://pypi.org/project/python-dateutil/" rel="nofollow noreferrer">^{<cd14>}</a>),则后者可能是最简单的选择</p>
<p>您使用<code>combine()</code>编辑的尝试按预期工作。您已将输入日期修改为一个<code>datetime</code>实例,因此,当您进行减法运算时,将得到一个<code>timedelta</code><code>timedelta</code>的精度比天数更高-无论您是从输入创建<code>datetime.date()</code>实例还是使用<code>combine()</code>将当前日期转换为<code>datetime()</code>,您都会看到类似的结果。您可以使用<code>days</code>字段获取timedelta中的天数,丢弃小时/分钟</p>