2022.04.16-python学习之time模块
# File:learning_014_module_time.py # Datetime:2022-04-16 10:32 import time # python中有3种方式来表示时间 # 1. 时间戳(timestamp) # 2. 格式化的时间字符串 # 3. 元组时间(结构化时间) # 时间戳概念:时间戳是指格林尼治时间1970年1月1日00时00分00秒(北京时间1970-01-01 08:00:00)到现在的总秒数. # 格式化时间 """ %y 2位数的年份表示(00~99) %Y 4位数的年份表示(0000~9999) %m 月份(01~12) %d 月的一天(0~31) %H 24小时制小时数(0~23) %I 12小时制小时数(0~12) %M 分钟数(00~59) %M 秒(00~59) %a 本地简化的星期名称 %A 本地完整的星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M或P.M的等价符 %U 一年中的星期数(00~53) 星期天为一星期的开始 %w 星期(0~6)星期天为一星期的开始 %W 一年中的星期数(00~53) 星期一为一星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 """ # 时间元组 """ tm_year 年 0000~9999 tm_mon 月 0-12 tm_mday 日 1-31 tm_hour 时 0-23 tm_min 分 0-59 tm_sec 秒 0-60/61(60或61 61位闰秒) tm_wday 星期 0-6(0是周一) tm_yday 一年的第几天 1-366 tm_isdst 夏令时 -1,0,1(-1是决定是否为夏令时的旗帜) """ # time的函数 # time.time()# 返回当前时间的时间戳(从格林尼治时间1970-01-01 00:00:00起至现在的总秒数) timestamp = time.time() print(timestamp) # time.localtime() 将时间戳格式化为本地时间,返回struct_time(时间元组)对象 # localtime不传入参数时,默认为使用当前时间戳 localtime = time.localtime() localtime2 = time.localtime(0) # 传入参数 单位为秒 print(localtime, "\n", localtime2) # time.asctime 获取可读的时间模式(最简单的) print(time.asctime(time.localtime())) # time.strftime 格式化日期 strfm_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print(strfm_time) # time.strptime() 根据指定的格式把一个字符串解析为时间元组对象(struct_time) strp_time = time.strptime(strfm_time, "%Y-%m-%d %H:%M:%S") print(strp_time) # time.mktime() 接收时间元组(struct_time)对象返回时间戳 mk_time = time.mktime(time.localtime()) print(mk_time) # time.gmtime() 接收时间戳返回时间元组(struct_time)对象 gm_time = time.gmtime(time.time()) print(gm_time) # time.sleep(1) 睡眠1秒 time.sleep(1) # time.ctime() 接收时间戳,转化为time.asctime()简单的可读时间模式 c_time = time.ctime() # 相当于time.asctime() print(c_time) # Sat Apr 16 13:49:40 2022 c_time2 = time.ctime(0) # 当前时区的时间戳转化为time.asctime()简单的可读时间模式 print(c_time2) # Thu Jan 1 08:00:00 1970 # time.perf_counter() 返回计时器的精准时间(系统的运行时间),包含整个系统的睡眠时间。 start_time = time.perf_counter() time.sleep(3) end_time = time.perf_counter() print(end_time - start_time) # time.process_time() 返回当前进程执行 CPU 的时间总和,不包含睡眠时间。 start_time1 = time.process_time() time.sleep(3) end_time2 = time.process_time() print(end_time2 - start_time1)