Time模块
import time
时间戳
指从1970年1月1日0时0分0秒到指定时间之间的秒数,时间戳是秒,可以使用到2038年的某一天
UTC时间
世界约定的时间表示方式,世界统一时间格式,世界协调时间!
夏令时
在夏令时时间状态下,时间会调块1个小时
时间元组
是使用元祖格式表示时间的一种方式
格式1(自定义):
(年,月,日,时,分,秒,周几,一年中的第几天,是否是夏令时时间)
格式2(系统提供):
(tm_year = 年,tm_month = 月,tm_day = 日,tm _hour = 时, tm_min = 分, tm _sec = 秒, tm _wday = 周几, tm _yday = 一年中的第几天,tm_isdst = 是否是夏令时时间)
"""
0 年 4位数完整年份 四位数1997
1 月 1-12月 1 - 12
2 日 1-31天 1 - 31
3 时 0-23时 0 - 23
4 分 0-59分 0 - 59
5 秒 0-61秒 0 - 61
6 周几 周一-周天 0 - 6
7 年中第几天 共366天 1 - 366
8 夏令时 两种 0,1 0是 其他都不是
"""
时间字符串
Tue Sep 29 14:13:20 2020
格式化时间字符串
"""
#格式化时间字符串:
格式 含义
%a 本地(locale)简化星期名称
%A 本地完整星期名称
%b 本地简化月份名称
%B 本地完整月份名称
%c 本地相应的日期和时间表示
%d 一个月中的第几天(01 - 31)
%H 一天中的第几个小时(24 小时制,00 - 23)
%I 一天中的第几个小时(12 小时制,01 - 12)
%j 一年中的第几天(001 - 366)
%m 月份(01 - 12)
%M 分钟数(00 - 59)
%p 本地 am 或者 pm 的相应符
%S 秒(01 - 61)
%U 一年中的星期数(00 - 53 星期天是一个星期的开始)第一个星期天之前的所有天数都放在第 0 周
%w 一个星期中的第几天(0 - 6,0 是星期天)
%W 和 %U 基本相同,不同的是 %W 以星期一为一个星期的开始
%X 本地相应时间
%y 去掉世纪的年份(00 - 99)
%Y 完整的年份
%z 用 +HHMM 或 -HHMM 表示距离格林威治的时区偏移(H 代表十进制的小时数,M 代表十进制的分钟数)
%% %号本身
"""
time
#return本地时间戳
res = time.time()
print(res)
localtime
#return当前时间元祖
res = time.time()
print(res)
#指定具体的时间戳
ttp = time.localtime(1601360000)
"""out time.struct_time(tm_year=2020, tm_mon=9, tm_mday=29, tm_hour=14, tm_min=13, tm_sec=20, tm_wday=1, tm_yday=273, tm_isdst=0)
"""
print(ttp)
mktime
#return时间戳
#ttp = time.localtime(1601360000)
res1 = time.mktime(ttp) #参数"时间元组"
print(res1)
ctime
#return本地时间字符串(参数是时间戳,默认当前)
# 默认当前时间戳
res = time.ctime()
print(res) #out Tue Sep 29 14:13:20 2020
#指定具体的时间戳
res1 = time.mktime(ttp)
res = time.ctime(res1) #参数"时间戳"
print(res)
小结
localtime <=> mktime => ctime
时间元祖 <=> 时间戳 => 字符串 return
asctime
#通过时间元组获取时间字符串(参数是时间元组)
"""
只能通过手动的形式来调星期
"""
ttp = (2020,9,29,16,48,30,0,0,0)
res = time.asctime(ttp)
print(res)
# mktime 配合 ctime来取代asctime
"""自动识别当前是周几"""
res = time.mktime(ttp)
strvar = time.ctime(res)
print(strvar)
sleep
#return程序睡眠等待
time.sleep(10)
print("我睡醒了")
strftime
#return格式化时间字符串
#参数 (格式化字符串,时间元祖) 默认当前时间元祖
strvar = time.strftime("%Y-%m-%d %H:%M:%S")
#Linux下才支持中文
strvar = time.strftime("%Y-%m-%d %H:%M:%S 是杜兰特的死神的生日")
strvar = time.strftime("%Y-%m-%d %H:%M:%S",(2020,10,31,10,10,10,0,0,0))
print(strvar)
strptime
#return提取时间元祖
#参数 ((时间字符串,格式化字符串) 默认当前时间元祖
"""注意:替换时间格式化标签时,必须严丝合缝.不能随便加空格或特殊字符"""
ttp = time.strptime("2020年的9月29号是死神杜兰特的生日,晚上20点30分40秒准备轰趴派队","%Y年的%m月%d号是死神杜兰特的生日,晚上%H点%M分%S秒准备轰趴派队")
print(ttp)
小结
strftime : 把时间元组 => 字符串
strptime : 把字符串 => 时间元组
perf_counter
#用于计算程序运行的时间 (了解)
startime = time.perf_counter()
for i in range(10000000):
pass
endtime = time.perf_counter()
print("中间用时:",endtime-startime) #中间用时: 0.22352090000000002
import time
startime = time.time()
for i in range(10000000):
pass
endtime = time.time()
print("中间用时:",endtime-startime)
# 中间用时: 0.23990917205810547
标签:res,ttp,tm,时间,模块,time,print
From: https://www.cnblogs.com/wbcde116/p/18051350