Python日期时间(datetime.timedelta)
timedelta类是datetime.py中的一个类,主要处理时间的计算
其结构如下:
1 | #class datetime.datetime.timedelta(days=0, seconds=0, microseconds=0,milliseconds=0, minutes=0, hours=0, weeks=0) |
生成时间差
1 2 3 4 5 6 7 | #生成时间差 today = datetime.date.today() td = datetime.timedelta( 10 ) # 10 days, 0:00:00 ,<class 'datetime.timedelta'> td = datetime.timedelta(days = - 10 ) # -10 days, 0:00:00 <class 'datetime.timedelta'> td = datetime.timedelta(days = - 10 ,hours = 5 ) # -10 days, 5:00:00 <class 'datetime.timedelta'> td = datetime.timedelta(days = - 10 ,hours = - 5 ) # -11 days, 19:00:00 <class 'datetime.timedelta'> td = datetime.timedelta(days = - 10 ,hours = - 5 ,weeks = 1 ) # -4 days, 19:00:00 <class 'datetime.timedelta'> |
计算目标日期
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #计算目标日期 #计算4天后 dt = datetime.date.today() # 2020-03-15 td = datetime.timedelta(days = 4 ) print (dt + td) # 2020-03-19 #计算4小时前 dt = datetime.datetime.today() # 2022-03-15 11:25:28.309209 td = datetime.timedelta(hours = 4 ) print (dt - td) # 2022-03-15 07:25:28.309209 #计算1周以后 dt = datetime.date.today() # 2020-03-15 td = datetime.timedelta(weeks = 1 ) print (dt + td) # 2022-03-22 |
根据服务器时间,算本周时间段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | from datetime import date, datetime, timedelta def this_monday(today): """ :function: 获取本周周一日期 :param_type: datetime :return: 返回周一的日期 :return_type: string """ td = timedelta(days = today.weekday()) return datetime.strftime(today - td, "%Y-%m-%d" ) def this_sunday(today): """ :function: 获取本周周日日期 :param_type : datetime :return: 返回周日日期 :return_type: string """ td = timedelta(days = 7 - today.weekday() - 1 ) return datetime.strftime(today + td, "%Y-%m-%d" ) today = date.today() print (this_monday(today)) print (this_sunday(today)) |
标签:
Python进阶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)