【Python】简单记录显示程序运行时间和显示当前时间日期的方法(time库)

最近经常遇到一些运行时间特别长的程序,从而导致需要记录程序运行时长的情况开始变多,特此随手一记。

一、去繁从简版:

1、就算看不懂也没关系,会用就行版

#python记录时间信息练习
import time
t0=time.time()
print('显示程序开始的时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))


t1=time.time()
print('显示程序结束的时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
print("用时:%.6fs"%(t1-t0))

在这里插入图片描述
好了,你已经会了题目所描述的需求了,要是手头上有什么要紧的程序要写,其实没必要往后面看了ㄟ( ▔, ▔ )ㄏ

2、为了美观或者说更好使用,封装成一个简易函数版:

import time
def record_time(flag):
    if flag==0:
        global t0
        t0=time.time()
    else:
        t1=time.time()
        print("用时:%.2fs"%(t1-t0))  
    print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
    
if __name__ == "__main__":
    record_time(0)
    x=0            
    while True:
        x+=1
        if x>1e6:
            break
    record_time(1)

二、随便多了几行的记录(探究?)

1、运行1 000 000 000(1e9)需要多久?

#python记录时间信息练习
import time
t0=time.time()
print('显示此刻的时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))

for i in range(0,1000):
    for j in range(0,1000):
        for k in range(0,1000):
            if((i+j+k)==2997):   
                print(i,j,'\n')

t1=time.time()
print('显示此刻的时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
print("用时:%.5fs"%(t1-t0))

在这里插入图片描述

讲道理,运行1e6只需要将近0.1s(运行过了,你也可以试一试,当然可能你的电脑比我好,比这个数字要小许多),按理说1e9应该是100s左右?
额,这里可能涉及到一些底层的东西,咱也不知道,咱~~~

2、for循环里的’if’语句算是运算吗?
那就用加法运算代替试一试

#python记录时间信息练习
import time
t0=time.time()
print('显示此刻的时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))

x=0
for i in range(0,1000):
    for j in range(0,1000):
        x+=1
print(x)

t1=time.time()
print('显示此刻的时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
print("用时:%.6fs"%(t1-t0))

在这里插入图片描述

3、如何看待“一方面很精通”和“方方面面都会一点”的差异(优劣)?
所以我这里又用了种方法,但实质没差,会一个真的就够了(而且上面那种就挺好用的)

#python记录时间信息练习
import time
start = time.clock()
print('显示此刻的时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))

'''
for i in range(0,1000):
    for j in range(0,1000):
        if((i+j)==1998):   
            print(i,j,'\n')
'''
x=0            
while True:
    x+=1
    if x>1e6:
        break

end = time.clock()
print('用时:%.5f'%(end-start))
print(end-start)
print('显示此刻的时间:',time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))

在这里插入图片描述

为什么没有对比分析每个方法的差异?
那就提一下好了,精确度好像有区别。

为什么不直接把每个函数的精确度注明出来?
正常情况够用了,为什么要知道?能有高精度需求的人自然会去查。

三、后记

最近越发感觉时间过的太快了,渐渐开始对时间日期什么的变得多愁善感了

这篇博客把运行程序的时候的时间和日期都保留了…

话说,对时间敏感的人,认真看到这个位置,不知…?

在这里插入图片描述

内心毫无波澜,甚至还有点…

发布了86 篇原创文章 · 获赞 83 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41856733/article/details/103674095