如何在 Python 中进行日期和时间计算?


使用 Python 中的 timedelta 对象 进行日期和时间计算非常容易。 无论何时需要对日期/时间进行加减运算,都使用 datetime.datetime(),然后加减 datetime.timedelta() 实例。timedelta 对象表示持续时间,即两个日期或时间之间的差值。timedelta 构造函数具有以下函数签名:

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

注意:所有参数都是可选的,默认为 0。参数可以是整数、长整数或浮点数,可以是正数或负数。 你可以在这里阅读更多相关信息: https://docs.pythonlang.cn/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

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

减去两个 datetime 对象会得到一个 timedelta 对象。此 timedelta 对象可用于查找两个 datetime 之间的精确差值。

示例

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

输出

这将给出以下输出:

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

更新于:2023年11月2日

3K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告