datetime 学习总结

本文详细探讨了Python中time和datetime模块的区别,重点讲解了如何高效利用datetime进行日期时间运算,包括timedelta的使用和如何设置定时任务,以及datetime.replace方法的实战应用。通过实例演示,帮助读者避免常见误区,提升项目执行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创作原因:

因为项目需求,使项目定时等待到第二天固定时刻再运行,前期使用一次time类型就去直接查找,造成对time类型理解的深度不够。故撰写文章记录学习总结,以防以后忘记。

time和datetime

两种包,datetime使再time之上扩展的,所以简单的如sleep功能可直接使用time。

datetime两种类型

1,datetime:时间的数据格式,内部有时间变量。
2,timedelta:表示两个 date 或者 time 的时间间隔。

datetime格式可直接与datetime和timedelta格式的数据直接进行数据运算,如

t = datetime.datetime.now()
time.sleep(2)
t2 = datetime.datetime.now()
t3 = t2-t
print(t4)

输出大概为:0:00:02.000503,类型为timedelta

t = datetime.datetime.now()
t3 = datetime.timedelta(days=2)
t4 = t-t3
print(t4)

datetime.replace的使用:

# 1,直接使用当前时间为对象
t = datetime.datetime.now().replace(day=2)
# 2,先定义一个当前时间的对象,这种方法可更改相对时间,当月若日期数超出,如七月,day赋值为32,会出现错误,慎用!
t2 = datetime.datetime.now()
t3 = t2.replace(day=t2.day+2)
# 3,直接在括号里面定义,同样也可以更改相对时间。
t4 = datetime.datetime.replace(datetime.datetime.now()+datetime.timedelta(days=2))

datetime.timedelta的使用:

# 直接返回一个timedelta类型的数据,可以直接参与时间的计算
t5 = datetime.timedelta(days=2)

最后,对于在程序执行过程中,遇到某个问题等待到某一固定时刻再运行代码(下面是等待到第二天的十一点):

t = datetime.datetime.replace(datetime.datetime.now()+datetime.timedelta(days=1),hour=11,minute=0,second=0)
time.sleep((t-datetime.datetime.now()).total_seconds())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值