datetime.timedelta类详细介绍

我们通常使用datetime包里面的类进行时间处理,最常用的类是:datetimetimedelta。前者用于表示时间,而后者用于计算时间差。除此以外,datetime包里面还有 date 和 time 对象,不过最常用的还是datetimetimedelta

datetime.timedelta对象代表两个时间之间的时间差,两个date或datetime对象相减就可以返回一个timedelta对象。

1、timedelta类的定义

class datetime.timedelta(days=0,seconds=0,microseconds=0,milliseconds=0,minutes=0,hours=0,weeks=0)

参数说明:

所有的参数都是可选的,默认值为0,参数可以是整数或者浮点数,既可以是整数也可以是负数。

虽然说参数可以传递的单位很多,但是python内部实现只存储了days,seconds和microseconds三种单位,所有其他的单位在计算时都会转换成相应的三种单位:

1 millisecond = 1000 microseconds
1 minute = 60 seconds
1 hour = 3600 seconds
1 week = 7 days

2、timedelta类的使用场景:给当前时间加一天、一小时、一分钟

时间加1天
offset = datetime.timedelta(days=1)

时间加1小时
offset = datetime.timedelta(hours=1)

时间加1分钟
offset = datetime.timedelta(minutes=1)

时间加1秒钟
offset = datetime.timedelta(seconds=1)

timedelta类的使用场景,如下代码所示:

import datetime

today = datetime.datetime.now()

# 计算偏移量
offset = datetime.timedelta(days=1)

# 获取修改后的时间并格式化
tomorrow = (today + offset).strftime('%Y-%m-%d %H:%M:%S')

print(tomorrow)