# ### time 时间模块
import time
#time() 获取本地时间戳
res = time.time()
print(res)
#mktime() 通过[时间元组]获取[时间戳] (参数是时间元组)
ttp = (2019,5,16,10,55,30,0,0,0)
res = time.mktime(ttp)
print(res)
#localtime() 通过[时间戳]获取[时间元组] (默认当前时间)
res = time.localtime()
print(res)
res = time.localtime(1557975330)
print(res)
'''
time.struct_time
(
tm_year=2019,
tm_mon=5,
tm_mday=16,
tm_hour=10,
tm_min=57,
tm_sec=10,
tm_wday=3,
tm_yday=136,
tm_isdst=0
)
'''
#ctime() 通过[时间戳]获取[时间字符串] (默认当前时间)
res = time.ctime()
print(res)
res = time.ctime(1557975330)
print(res)
#asctime() 通过[时间元组]获取[时间字符串](参数是时间元组)
ttp = (2019,5,1,3,3,3,2,0,0)
res = time.asctime(ttp)
print(res)
# asctime 内部实现有个小bug,不能够自动识别是周几,只能手动填写
# 优化写法
ttp = (2019,5,1,3,3,3,0,0,0)
res = time.mktime(ttp)
print(res)
res = time.ctime(res)
print(res)
#strftime() 通过[时间元组]格式化[时间字符串] (格式化字符串,[可选时间元组参数])
res = time.strftime("%Y=%m=%d %H|%M|%S")
print(res)
ttp = (2019,5,1,3,3,3,0,0,0)
res = time.strftime("%Y=%m=%d %H|%M|%S",ttp)
print(res)
# 注意点 windows 不支持strftime的中文字符 linux 完全可以
# res = time.strftime("%Y-%m-%d %H:%M:%S 今天是段奕宏的生日")
# print(res)
#strptime() 通过[时间字符串]提取出[时间元组] (时间字符串,格式化字符串)
# 注意点:strptime 在匹配字符串当中的时间时,字符串必须严丝合缝,不能随意修改原有字符.
res = time.strptime("2019年5月17号,5期同学会看着4期同学在早上8点9分20秒的时候去下野","%Y年%m月%d号,5期同学会看着4期同学在早上%H点%M分%S秒的时候去下野")
print(res)
'''
time.struct_time(
tm_year=2019,
tm_mon=5,
tm_mday=17,
tm_hour=8,
tm_min=9,
tm_sec=20,
tm_wday=4,
tm_yday=137,
tm_isdst=-1)
'''
#sleep() 程序睡眠等待
# time.sleep(10) # 程序在此加阻塞,10秒之后载向下执行
# print("我睡醒了")
#perf_counter() 用于计算程序运行的时间
# 用time.time() 一样可以实现
startime = time.perf_counter()
print(startime)
for i in range(1000000000):
pass
endtime = time.perf_counter()
res = endtime - startime
print(res)