如何在 Python 中进行日期和时间数学运算?

pythonserver side programmingprogramming更新于 2026/2/5 16:44:17

使用 timedelta 对象在 Python 中执行日期和时间数学运算非常容易。每当您想要对日期/时间进行加减时,请使用 datetime.datetime(),然后添加或减去 datetime.timedelta() 实例。timedelta 对象表示持续时间,即两个日期或时间之间的差异。timedelta 构造函数具有以下函数签名 −

datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

注意:所有参数都是可选的,默认为 0。参数可以是 int、long 或 float,可以是正数或负数。您可以在此处阅读更多相关信息 − https://docs.python.org/2/library/datetime.html#timedelta-objects

示例

使用 timedelta 对象和日期 − 的示例

import datetime
old_time = datetime.datetime.now()
print(old_time)
new_time = old_time - datetime.timedelta(hours=2, minutes=10)
print(new_time)

输出

将给出输出 −

2018-01-04 11:09:00.694602
2018-01-04 08:59:00.694602

datetime.time() 对象不支持 timedelta() 算法;如果您需要使用现有 datetime.time() 对象的偏移量,只需使用 datetime.datetime.combine() 形成 datetime.datetime() 实例,进行计算,然后使用 .time() 方法再次"提取"时间。

减去 2 个 datetime 对象会得到一个 timedelta 对象。此 timedelta 对象可用于查找两个日期时间之间的确切差异。

示例

t1 = datetime.datetime.now()
t2 = datetime.datetime.now()
print(t1 - t2)
print(type(t1 - t2))

输出

将给出输出 −

-1 day, 23:59:56.653627
<class 'datetime.timedelta'>

相关文章


有用资源