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)

 

posted @ 2022-04-16 23:50  陈亦洺  阅读(43)  评论(0编辑  收藏  举报