1.模块分为三类: 标准库:sys、os等内置模块; 开源模块:第三方模块 自定义模块
2.标准库中时间模块有time跟datetime
(1)格式化的时间字符串表示:2019-08-24 08:23:05
(2)时间戳:本质是秒数,使用time.time()来打印,是从1970年01月01日00:00开始按秒计算的偏移量
>>> time.time()
1566616449.2671971
>>> x=time.time()
>>> x/3600/24/365
49.677082186906304
>>> 1970+49
2019
(3)struct-time,元组,共9个元素, 这里要明确 世界标准时间是UTC,中国使用的UTC+8,DST是夏令时。
使用time.localtime(),可以输出本地时间
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=24, tm_hour=11, tm_min=17, tm_sec=27, tm_wday=5, tm_yday=236, tm_isdst=0
使用gm.localtime()输出的为世界标准时间
>>> time.gmtime()
time.struct_time(tm_year=2019, tm_mon=8, tm_mday=24, tm_hour=3, tm_min=17, tm_sec=39, tm_wday=5, tm_yday=236, tm_isdst=0)
3.这三种表示时间的方法可以互相转换,如下图所示,
这里以元组跟时间戳的转换试例一下:
>>> y=time.gmtime(564123654)
>>> print(y)
time.struct_time(tm_year=1987, tm_mon=11, tm_mday=17, tm_hour=5, tm_min=0, tm_sec=54, tm_wday=1, tm_yday=321, tm_isdst=0) >>> time.mktime(y
strftime("格式",struct_time),转换为格式化的字符串,struct_time与格式没有位置上的联系,格式中的位置可以随意写
strptime("格式化的字符串","格式"),格式与格式化的字符串是一一对应的,有位置上的联系。
4.time.aectime()与time.ctime()可以将格式化的字符串与时间戳转换为特定的格式,转换形式如图:
这里简单示例一下:
>>> time.asctime(y)
'Tue Nov 17 05:00:54 1987'
>>>
>>> time.ctime(x)
'Sat Aug 24 11:14:23 2019'
5.datetime模块
datetime可以打印当前时间,也可以进行时间加减
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2019, 8, 24, 12, 13, 46, 698797)
>>> print(datetime.datetime.now())
2019-08-24 12:14:01.287766
>>> print(datetime.datetime.now()+datetime.timedelta(3)) #当前时间加3天
2019-08-27 12:15:22.381283
>>> print(datetime.datetime.now()+datetime.timedelta(-3)) #当前时间加减天
2019-08-21 12:15:30.340797
>>> print(datetime.datetime.now()+datetime.timedelta(hours=3)) #当前时间加3个小时
2019-08-24 15:15:46.809156
>>> print(datetime.datetime.now()+datetime.timedelta(minutes=30)) 当前时间减3个小时
2019-08-24 12:46:05.085896
datetime模块还可以进行时间替换,如下所示:
>>> c_time=datetime.datetime.now()
>>> print(c_time.replace(minute=3,hour=2))
2019-08-24 02:03:27.189295
完