ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python模块time

2021-04-30 14:59:26  阅读:151  来源: 互联网

标签:-% struct python tm 时间 模块 time print


time库一用于处理事件相关功能

告知

这篇笔记是在学习了Python二级教程(杨文,管德永,王召强主编)(中国海洋大学出版社出版)后写的,内容雷同,如有侵权,请联系我删除,谢谢!!!

相关术语

呈现时间的格式:

时间戳

从1970年1月1日00:00:00开始计时的按秒计算的偏移量;eg: 1619761802.7536848

字符串

没有固定格式,可以自己设置,相关格式化语言给出

%Y一年份一 0001-9999(eg:1999)一 若y小写,则只显示后两位数字;
%m一 月份一 01-12
%B一 月名一 January-December
%b一 月名缩写一 Jan-Dec
%d一 日期一 01-31
%A一 星期一 Monday-Sunday
%a一 星期缩写一 Mon-Sun
%H一 小时(24h制)一 00-23
%I一 小时(12h制)一 01-12
%p一 上下午一 AM,PM
%M一 分钟一 00-59
%S一 秒一 00-59

struct_time对象

eg:time.struct_time(tm_year=2021, tm_mon=4, tm_mday=30, tm_hour=5, tm_min=50, tm_sec=2, tm_wday=4, tm_yday=120, tm_isdst=0)

参数:
tm_year一年份,整数
tm_mon一月份[1,12]
tm_mday一日期[1,31]
tm_hour一小时[0,23]
tm_min一分钟[0,59]
tm_sec一秒[0,59]
tm_wday一星期[0,6](0代表星期一)
tm_yday一该年中的第几天[0,366]
tm_isdst一是否为夏令时,0否,1是,-1未知

UTC 世界协调时

格林尼治天文时间,我国为UTC+8;

DST 夏令时

时间处理

time()

获取当前时间的时间戳

gmtime()

获取当前时间戳对应的struct_time对象(0时区的时间)

localtime()

获取当前时间戳对应的本地时间(北京时间)struct_time对象(8时区的时间)

ctime(时间戳)

获取当前时间戳对应的易读字符串表示,内部调用localtime函数会输出当前时间

import time

print(time.time())
#1619761802.7536848
print(time.gmtime())
#time.struct_time(tm_year=2021, tm_mon=4, tm_mday=30, tm_hour=5, tm_min=50, tm_sec=2, tm_wday=4, tm_yday=120, tm_isdst=0)
print(time.localtime())
#time.struct_time(tm_year=2021, tm_mon=4, tm_mday=30, tm_hour=13, tm_min=50, tm_sec=2, tm_wday=4, tm_yday=120, tm_isdst=0)
print(time.ctime())
#Fri Apr 30 13:50:02 2021,答案用这样的格式显示

时间格式化

mktime()

将struct_time对象转化为时间戳

strftime()

将任何通用格式转化为一个格式化字符串的形式表示(格式化字符串形式见“相关知识-字符串”)

strptime()

提取字符串的时间生成struct_time对象

import time

print(time.localtime())
#time.struct_time(tm_year=2021, tm_mon=4, tm_mday=30, tm_hour=14, tm_min=24, tm_sec=13, tm_wday=4, tm_yday=120, tm_isdst=0)
print(time.mktime(time.localtime()))
#1619763853.0
print(time.strftime('%Y-%b-%d-%A %p-%H-%M',time.localtime()))
#2021-Apr-30-Friday PM-14-24
a=time.strftime('%Y-%b-%d-%A %p-%H-%M',time.localtime())
print(time.strptime(a,'%Y-%b-%d-%A %p-%H-%M'))
#time.struct_time(tm_year=2021, tm_mon=4, tm_mday=30, tm_hour=14, tm_min=24, tm_sec=0, tm_wday=4, tm_yday=120, tm_isdst=-1)

计时

计时三要素

程序开始,结束时间;
程序总运行时间
程序各核心模块运行时间

sleep()

线程睡眠指定时间,单位为秒

monotonic()

返回单调时钟的时间(即不能倒流时间的时钟),时钟不受系统时间更新的影响。
***返回值的参考点未定,因此只有连续调用结果之间的差异才有效。

perf_counter()

返回性能计数器的值(以分秒为单位),即具有最高可用分辨率的时间,以测量短持续时间,包括在睡眠时间和系统范围内流逝的时间。
***返回值的参考点未定,因此只有连续调用结果之间的差异才有效。

import time

def fun1():
    time.sleep(0.2)
def fun2():
    a=10**6
    while a>0:
        a-=10
def fun3():
    time.sleep(0.5)

def main():
    stime=time.localtime()
    firsttime=time.mktime(stime)
    print("程序运行开始时间:",time.strftime('%Y-%m-%d %H:%M:%S',stime))
    PC1=time.perf_counter()
    fun1()
    PC2=time.perf_counter()
    fun1_usetime=PC2-PC1
    fun2()
    PC3=time.perf_counter()
    fun2_usetime=PC3-PC2
    fun3()
    PC4=time.perf_counter()
    fun3_usetime=PC4-PC3
    PC5=time.perf_counter()
    total_time=PC5-PC1

    print("fun1运行时间为:{}秒".format(fun1_usetime))
    print("fun2运行时间为:{}秒".format(fun2_usetime))
    print("fun3运行时间为:{}秒".format(fun3_usetime))

    print("总运行时间为:{}秒".format(total_time))

    etime=time.localtime()
    lasttime=time.mktime(etime)
    totaltime=lasttime-firsttime
    print("总时间是:{}".format(totaltime))

    print("整体运行结束时间:",time.strftime('%Y-%m-%d %H:%M:%S',etime))

if __name__=="__main__":
    main()
    
'''
程序运行开始时间: 2021-04-30 14:43:47
fun1运行时间为:0.21490160000000003秒
fun2运行时间为:0.009154999999999969秒
fun3运行时间为:0.5145016000000001秒
总运行时间为:0.7385627000000001秒
总时间是:1.0
整体运行结束时间: 2021-04-30 14:43:48
'''

标签:-%,struct,python,tm,时间,模块,time,print
来源: https://blog.csdn.net/weixin_48821464/article/details/116302121

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有