Python time库基本操作方法

三世轮回 提交于 2020-04-23 15:32:12

  time.time()  获取当前时间戳(现在时间与1970年1月1日0时0分0秒的时间差(单位:秒))

  time.gmtime(secs)  获取当前时间戳对应的struct_time对象

  time.localtime(secs)  获取当前时间戳对应的本地时间的struct_time对象。结果与gmtime不同,UTC时间已自动转换为北京时间。

  time.ctime(secs)  获取当前时间戳对应字符串的,内部会调用time.localtime()函数,返回的是当地时间。

  time.sleep(secs)  强制等待secs秒。

  time.perf_counter()  返回一个性能计数器的值(在分秒内),即一个具有最高可用分辨率的时钟,以测量短时间。它包括了在睡眠期间的时间,并且是系统范围的。返回值的引用点是未定义的,因此只有连续调用的结果之间的差异是有效的。

  就是这么多,还有一个叫做时间格式化的东西,我待会儿再说。

  这个time.perf_counter()的解释大家看着肯定很吃力,现在我来举个例子:

  import time

  start = time.perf_counter()

  time.sleep(2)

  end = time.perf_counter()

  print(end-start)

  说到底,就是一个计算时间的东西,但是非常精确。

  因为内存以及一些其它的因素,所以每次执行的结果几乎都不同。

  首先定义start为time.perf_counter()。这个函数如果就这么用是不能计时的,start的值是赋值的时候用的时间,并不是动态计时。因此在强制等待两秒后,需要再赋值一个变量,然后相减,得到运行的时间。

  有些朋友会问,它不是只等待了2秒吗?怎么是1.999几,或者是2.00001之类与2及其接近的数?

  这是个好问题,需要有两个解答。郑州人流医院 http://m.zyfuke.com/

  大于2的结果:我刚刚也说了,有可能执行的时候内存或者什么问题。但这不是必然的,必然的是,变量赋值,解包之类的一系列动作,都是需要时间的,只不过计算机运行的很快,我们感觉不到。

  小于2的结果:人有误差,计算机也有可能有。所以这是误差造成的,不过因为这个误差极小,所以对普通的计时没什么大影响。

  现在说说时间格式化。

  time.strftime()

  该方法利用一个格式字符串,对时间格式进行表达。

  import time

  a = time.strftime('%Y-%m-%d %H:%M:%S')

  print(a)

  懂怎么用了吧。

  time.strptime()

  与strftime()方法相反,这个函数用于提取字符串中时间来生成strut_time对象,可以灵活地作为time模块的输入接口。

  import time

  times=time.strptime('19 April 2020','%d %B %Y')

  print(times)


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!