Python的datetime模块是一个强大的日期和韶光处理库,它供应了多个类来处理日期和韶光。
紧张包括几个功能类datetime.date、datetime.time、datetime.datetime、datetime.timedelta,datetime.timezone等。

利用datetime模块

要利用 datetime模块,直接导入它即可。

import datetime 或者 from datetime import time,datetime,date,timedelta

jsp获得当前时间和星期python内置模块datetimetimedelta盘算时光距离 HTML

timedelta类

datetime.timedelta用于表示两个日期或韶光之间的差异(即韶光间隔)。
它常日用于日期的算术运算,比如打算一个日期加上或减去一定的韶光间隔后的新日期。

timedelta 工具初始化参数包含天(day)、秒(second)、微秒(microsecond)、毫秒(milliseconds、分钟(minutes)、小时(hours)、星期(weeks)韶光单位,但是上述参数初始化时星期会转化为天数,分钟和小时会转为秒数,毫秒会转为微秒,如下红框所示:

该类初始化后,可直接调用如下的属性函数得到对应的参数值

举例:timedelta类按照如下参数初始化timedelta_ins= timedelta(days=10, seconds=30,microseconds=1000, milliseconds=1,minutes=1, hours=1,weeks=1)print(timedelta_ins.days)print(timedelta_ins.seconds)print(timedelta_ins.microseconds)

实行结果:

17

3690

2000

根据上述红框中的打算公式验算如下:

days = 10 + 17 = 17

seconds= 30 + 160 +160 = 3690

microseconds = 1000 + 11000 = 2000

1 timedelta合营datetime.date进行日期的加减运算

在datetime.date(只涉及年,月,日)日期根本上打算n天前或者n天后对应的日期。

举例:

打算当前日期在1个星期后对应的日期

date_ins = date.today()print(date_ins + timedelta(weeks=1))

结果:2024-09-21

打算某个日期在50天后对应的日期

date_ins = datetime.date(2024,9,1)print(date_ins + datetime.timedelta(days=50))

结果:2024-10-21

打算某个日期在50天前对应的日期

date_ins = datetime.date(2024,9,1)print(date_ins + datetime.timedelta(days=-50))

结果:2024-07-13

打算某个日期在7个星期后对应的日期

date_ins = date(2024,9,1)print(date_ins + timedelta(weeks=7))

结果:2024-10-20

打算某个日期在435个小时后对应的日期

date_ins = date(2024,9,1)print(date_ins + timedelta(hours=435))

结果:2024-09-19

2 timedelta合营datetime.daterime进行日期的加减运算

在datetime.datetime(涉及年,月,日,小时,分钟,秒,微秒)韶光根本上打算某个韶光后对应的韶光。

举例:

打算当前韶光在50天后对应的韶光

date_ins = datetime.today()print(date_ins + timedelta(days=50))

结果:2024-11-03 10:11:02.663574

打算某个韶光在50天2小时后对应的韶光

from datetime import datetime,timedeltadate_ins = datetime(2024,month=9,day=5,hour=21,minute=34, second=25,microsecond=10000)print(date_ins + timedelta(days=50,hours=2))

结果:2024-10-25 23:34:25

打算某个韶光在50天前对应的韶光再加上2小时20分

from datetime import datetime,timedeltadate_ins = datetime(2024,month=9,day=5,hour=21,minute=34, second=25,microsecond=10000)print(date_ins + timedelta(days=-50,hours=2,minutes=20))

结果:2024-07-17 23:54:25

打算某个韶光加上1小时10秒1万微秒后对应的韶光

from datetime import datetime,timedeltadate_ins = datetime(2024,month=9,day=5,hour=21,minute=34, second=25,microsecond=10000)print(date_ins + timedelta(hours=1,seconds=10,microseconds=10000))

结果:2024-09-05 22:34:35.020000

datetime.datetime和 datetime.timedelta合营利用后,有很多种韶光打算办法,此处不再逐一列举。

3 timedelta类打算韶光之差

不用合营detetime。
datetime和 datetime.date类,timedelta类本身也可以打算两个韶光的间隔

举例:实例化两个类工具,timedelta_ins1 韶光大于timedelta_ins2

timedelta_ins1 = timedelta(hours=1,seconds=20,microseconds=10000,weeks=2)timedelta_ins2 = timedelta(days=6,hours=23,seconds=10,microseconds=10000)print(timedelta_ins1 - timedelta_ins2)

结果:7 days, 2:00:10

4 total_seconds()

该函数返回timedelta类初始化工具对应的秒数。
打算公式如下:

举例:

timedelta_ins = timedelta(hours=1,seconds=10,microseconds=10000)print(timedelta_ins.total_seconds())

结果:3610.01

5 比较韶光大小

正由于timedelta类有__eq__,__lt__等邪术方法,以是具备大小比较的功能。

测试代码:实例化两个类工具,timedelta_ins1 韶光大于timedelta_ins2

timedelta_ins1 = timedelta(hours=1,seconds=10,microseconds=10000,weeks=1)timedelta_ins2 = timedelta(days=6,hours=23,seconds=10,microseconds=10000)print(timedelta_ins1 < timedelta_ins2)

比较结果:False

共勉: 东汉·班固《汉书·枚乘传》:“泰山之管穿石,单极之绠断干。
水非石之钻,索非木之锯,渐靡使之然也。

-----指水点不断地滴,可以滴穿石头;

-----比喻坚持不懈,集细微的力量也能造诣难能的功劳。

----感谢读者的阅读和学习,感激大家。