擅长:python、mysql、java
<p>是的,这里绝对需要<a href="http://docs.python.org/library/datetime.html" rel="noreferrer">^{<cd1>}</a>。特别是<code>strptime</code>函数,它将字符串解析为时间对象。</p>
<pre><code>from datetime import datetime
s1 = '10:33:26'
s2 = '11:15:49' # for example
FMT = '%H:%M:%S'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
</code></pre>
<p>这会得到一个<code>timedelta</code>对象,其中包含两次之间的差异。你可以用它做任何你想做的事情,例如把它转换成秒或者把它添加到另一个<code>datetime</code>。</p>
<p>如果结束时间早于开始时间(例如<code>s1 = 12:00:00</code>和<code>s2 = 05:00:00</code>),则返回负结果。如果在这种情况下希望代码假定间隔跨越午夜(即假定结束时间永远不早于开始时间),则可以将以下行添加到上述代码中:</p>
<pre><code>if tdelta.days < 0:
tdelta = timedelta(days=0,
seconds=tdelta.seconds, microseconds=tdelta.microseconds)
</code></pre>
<p>(当然,您需要在某处包含<code>from datetime import timedelta</code>)。感谢J.F.Sebastian指出了这个用例。</p>