time模块以及datetime模块
内容概要
- time模块
 **timestamp时间戳
 **struct_time结构化时间
 **format time格式化时间
- datetime模块
 **date
 **time
 **datetime
 **timedelta
内容详细
一、time模块
"""
时间三种表现形式
	1.时间戳(秒数)
	2.结构化时间(一般是给机器看的)
	3.格式化时间(一般是给人看的)
	三种时间是可以相互转换的!!!
"""
1、时间戳(timestamp)
时间戳表示的是从1970年1月1日00:00:00开始按秒计算到目前的偏移量,
也就是计算从1970年到现在所过去的秒数
print(time.time())  # 1637839983.8243246
# 时间戳转换成结构化时间
time.localtime()
print(time.localtime(time.time()))
# time.struct_time(tm_year=2021, tm_mon=11, tm_mday=25, tm_hour=19, tm_min=36, tm_sec=33, tm_wday=3, tm_yday=329, tm_isdst=0)
2、结构化时间(struct_time)
共有九个元素组:
tm_year(年)                  比如2011 
tm_mon(月)                   1 - 12
tm_mday(日)                  1 - 31
tm_hour(时)                  0 - 23
tm_min(分)                   0 - 59
tm_sec(秒)                   0 - 61
tm_wday(weekday)             0 - 6(0表示周日)
tm_yday(一年中的第几天)        1 - 366
tm_isdst(是否是夏令时)        默认为-1
print(time.localtime())
# time.struct_time(tm_year=2021, tm_mon=11, tm_mday=25, tm_hour=19, tm_min=40, tm_sec=1, tm_wday=3, tm_yday=329, tm_isdst=0)
结构化时间转成时间戳:
struct_times = time.localtime()
timestamps_ = time.mktime(struct_times)
print(timestamps_)  # 1637840676.0
3、格式化时间
已格式化的结构使时间更具可读性。包括自定义格式和固定格式
print(time.strftime('%Y-%m-%d'))  # 2021-11-25
print(time.strftime('%Y-%m-%d %H:%M:%S'))  # 2021-11-25 19:56:25
print(time.strftime('%Y-%m-%d %X'))  # 2021-11-25 19:56:25
二、datetime模块
1、date
print(datetime.date.today())  # 2021-11-25
# 区别 datetime类
print(datetime.datetime.today())  # 2021-11-25 20:12:45.749087
2、datetime
"""date年月日  datetime年月日时分秒  time时分秒(MySQL django后期可以)"""
# res = datetime.datetime.today()
# print(res.year)  # 2021
# print(res.month)  # 11
# print(res.day)  # 25
# print(res.weekday())  # 获取星期(weekday星期是0-6) 0表示周一
# print(res.isoweekday())  # 获取星期(weekday星期是1-7) 1表示周一
3、timedelta(时间差)
ctime = datetime.datetime.today()
time_tel = datetime.timedelta(days=3)
print(ctime)  # 2021-11-25 20:16:09.128001
print(ctime - time_tel)  # 2021-11-22 20:16:09.128001
print(ctime + time_tel)  # 2021-11-28 20:16:09.128001
train
# 小练习 计算举例今年过生日还有多少天
birthday = datetime.date(1999, 7, 22)
now_date = datetime.date.today()
days = birthday - now_date
print('距离生日还有{}天'.format(days))  # 距离生日还有-8162 days, 0:00:00天
# UTC时间与我们的东八区时间差 八个小时
print(datetime.datetime.now())  # 2021-11-25 20:18:55.363573
print(datetime.datetime.utcnow())  # 2021-11-25 12:18:55.363573