1、17-2 日期和时间的高级管理CONTENTS目 录 1datetime模块及date类datetime.time类2datetime.datatime类3日期和时间间隔计算4datetime 模块比time模块具有更强大的功能,提供了各种类用于操作日期和时间,该模块侧重于高效率的格式化输出,可以方便的置换年、月、日其中任意一项,并且可以进行日期的差值计算,也就是说可以很方便地计算出两个日期之间的间隔。17.2.1datetime模块及模块及date类类17.2.1 datetime模块及date类datetime 模块中定义了以下几个类(它们都是不可变对象):datetime.date:表示
2、日期的类,常用属性:year,month,daydatetime.time:表示时间的类,常用属性:hour,minute,second,microsecond,tzinfodatetime.datetime:表示日期和时间的类,常用属性:year,month,day,hour,minute,second,microsecond,tzinfodatetime.timedelta:表示时间间隔,即两个时间点(date,time,datetime)之间的长度datetime.tzinfo:表示时区的基类,为上方的 time 和 datetime 类提供调整的基准datetime.timezone-
3、表示 UTC 时区的固定偏移,是 tzinfo 基类的实现datetime.date表示日期,其构造方法接受三个参数:year、month、day,所有的参数必须是整数,取值范围如下:1=year=9999;1=month=121=day today=datetime.date.today()#通过datetime.date.today()可获取当日的日期 todaydatetime.date(2019,4,7)after_10_days=today.replace(day=today.day+10)#返回新date对象:当日的10日后 after_10_daysdatetime.date(2
4、019,4,17)next_month=today.replace(month=today.month+1)#返回新date对象:当日的1月后 next_monthdatetime.date(2019,5,7)this_year_sep=today.replace(month=9)#返回新date对象:9月对应的当日 this_year_sepdatetime.date(2019,9,7)other_year=today.replace(year=today.year+3,month=9,day=10)#返回新date对象:3年后的教师节 other_yeardatetime.date(202
5、2,9,10)17.2.1 datetime模块及date类datetime.time对象表示一天中的一个时间,构造方法如下:datetime.time(hour=0,minute=0,second=0,microsecond=0,tzinfo=None)所有的参数都是可选的;tzinfo可以是None或者tzinfo子类的实例对象;其余的参数可以是整数,并且在以下范围内:0=hour 240=minute 600=second 600=microsecond 1000 microseconds1 minutes-60 seconds1 hours-3600 seconds1 weeks-7
6、days你可以很方便地对datetime.date、datetime.time和datetime.datetime对象进行加减运算,通过计算得到timedelta对象后,再通过对象属性来查看间隔的时间信息。下面是timedelta的一些用法示例:datetime.timedelta(5).total_seconds()#5天的总秒数432000.0 t1=datetime.datetime.now()#t1为今天此刻 t1+datetime.timedelta(5)#t1的5天后datetime.datetime(2018,4,12,16,50,2,842000)t1+datetime.timedelta(-5)#t1的5天前datetime.datetime(2018,4,2,16,50,2,842000)t1+datetime.timedelta(hours=1,seconds=30)#t1的1小时30秒后datetime.datetime(2018,4,7,17,50,32,842000)17.2.4 日期和时间间隔计算