时间模块
![image]()
1、time模块
- 时间戳、结构化时间、格式化时间三者转换关系图:
![image]()
'''
时间的三种表现形式
1、时间戳(秒数):Timestamp
2、结构化时间(一般是给机器看的):struct_time
3、格式化时间(一般是给人看的):strftime
三种时间之间可以互相转换 :Timestamp
'''
import time
time.time() # 获取时间戳时间
time.sleep() # 程序原地阻塞指定的秒数
# 格式化时间
print(time.strftime('%Y-%m-%d')) # 2021-11-25
print(time.strftime('%Y-%m-%d %H:%M:%S')) # 2021-11-25 19:21:27
print(time.strftime('%Y-%m-%d %X')) # 2021-11-25 19:21:27
# 结构化时间
print(time.localtime())
time.struct_time(tm_year=2021,
tm_mon=11,
tm_mday=25,
tm_hour=19,
tm_min=22,
tm_sec=32,
tm_wday=3,
tm_yday=329,
tm_isdst=0)
# 时间戳
print(time.time())
# 时间戳转化为结构化时间
'''
关键字:gmtime,localtime
'''
print(time.gmtime(11152205205))
# 结构化时间转化为格式化时间
'''
关键字:strftime
'''
print(time.strftime('%Y-%m-%d')) # 2021-11-25
'''
时间戳不能直接转换为格式化时间,只能先转化为结构化时间,再转为格式化时间
'''
![image]()
2、datetime模块
import datetime
print(datetime.date.today()) # 2021-11-25
print(datetime.datetime.today()) # 2021-11-25 19:36:17.772807
'''
date方法返回年月日,datetime返回年月日时分秒,time时分秒(MySQL django后期可以)
'''
res = datetime.date.today()
print(res.year) # 2021
print(res.month) # 11
print(res.day) # 25
print(res.weekday()) # 3 # 获取星期,weekday用0-6表示星期1到星期6,0表示周一
print(res.isoweekday()) # 4 # 获取星期,用1-7表示星期一--星期日,1表示周一
# 时间差(timedelta)
ctime = datetime.datetime.today()
time_tel = datetime.timedelta(days=5)
print(ctime-time_tel) # 2021-11-20 19:43:27.667413
print(ctime+time_tel) # print(ctime+time_tel)
'''
日期对象=日起对象+/-时间差timedelta
时间差timedelta=日期对象+/-日期对象
'''
# UTC时间与我们东八区的时间相差八个小时,差一个区差一个小时
print(datetime.datetime.now()) # 2021-11-25 19:45:53.030381
print(datetime.datetime.utcnow())
![image]()