1. time库概述
- time库是python中处理时间的标准库
- 计算机的时间表达
- 提供获取系统时间并格式化输出功能
- 提供系统级精确计时功能
time库包括三类函数
- 时间获取:time() ctime() gmtime()
- 时间格式化:strftime() strptime()
- 程序计时:sleep() perf_counter()
2. 时间获取
-
time() —— 获取当前时间戳,即计算机内部时间值,是浮点数
>>> time.time() 1583410864.3618307
知识补充:所有计算机的时间戳计时⏲计算机科学家设定从1970年1月1日开始计算。
-
ctime() —— 获取当前时间并以易读方式表示,返回字符串
>>> time.ctime() 'Thu Mar 5 20:22:27 2020'
-
localtime() —— 获取当前本地时间,表示为计算机可处理的时间格式
>>> time.localtime() time.struct_time(tm_year=2020, tm_mon=3, tm_mday=5, tm_hour=20, tm_min=23, tm_sec=15, tm_wday=3, tm_yday=65, tm_isdst=0)
-
gmtime() —— 获取当前UTC时间,表示为计算机可处理的时间格式
>>> time.gmtime() time.struct_time(tm_year=2020, tm_mon=3, tm_mday=5, tm_hour=12, tm_min=22, tm_sec=49, tm_wday=3, tm_yday=65, tm_isdst=0)
知识补充:协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。
协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。中国大陆采用ISO 8601-1988的《数据元和交换格式信息交换日期和时间表示法》(GB/T 7408-1994)称之为国际协调时间,代替原来的GB/T 7408-1994;中国台湾采用CNS 7648的《资料元及交换格式–资讯交换–日期及时间的表示法》,称之为世界统一时间。
中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8。(摘自百度百科)
3. 时间格式化
>>> import time
>>> t = time.gmtime()
>>> t
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=1, tm_hour=7, tm_min=51, tm_sec=42, tm_wday=6, tm_yday=61, tm_isdst=0)
>>> time.strftime("%Y-%m-%d %H:%M:%S", t)
'2020-03-01 07:51:42'
>>> timeStr = '2020-03-01 07:51:42'
>>> time.strptime(timeStr, "%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2020, tm_mon=3, tm_mday=1, tm_hour=7, tm_min=51, tm_sec=42, tm_wday=6, tm_yday=61, tm_isdst=-1)
4. 格式化控制符
5. 程序计时
文本进度条实例:
之所以没有得到想要的结果是因为IDLE屏蔽了\r功能。
将程序在cmd中执行就能达到效果:
单行动态刷新:
- 动态刷新的本质:用之后打印的的字符覆盖之前的字符。
- 不能换行:print()控制
- 要能回退:打印后光标退回到之前的位置\r
完整版:
运行效果:
datetime模块的使用(整合了time和date库,更加强大)
datetime.date(year, month, day)
date object
日期类
datetime.date(year, month, day).iosweekday()——显示星期
>>> ls = datetime.date(2021, 10, 15)
>>> ls.isoweekday()
5
datetime.datetime.now()
(年,月,日,时,分,秒,时间戳?)