Time 模块功能解析
在实际的编程中我们要经常与时间打交道,所以time模块是非常有用的,在python中,对时间的处理并不只有time,还有datetime和calendar,locale。
本文只涉及time模块。
首先我们需要明确两点概念。
1)时间戳
时间戳就是从1970年1月1日00:00:00开始按秒计算的偏移量。
2)时间元组。
包含一个时刻各种状态的元组。 包括:年,月,日,时,分,秒,第几周,第几天,夏令时标示。
何为元组。
元组是由基本简单的对象所构成的。元组与表非常相似,但是元组是不可修改的。而且写成圆括号而不是方括号。元组中的元素通过偏移来访问,类似于C语言中的数组,偏移则用中括号表示。
图片来自《Python学习手册(第三版)》
以下是time模块的常用函数。
1)time.localtime([secs]):
将一个时间戳转变为当地时区的时间元组。secs为以秒为单位的参数,当不提供参数时,就有题1中的情况,取本地时间。那么我们看下例子。
import time print time.localtime()
我们得到的结果如下:
我们可以根据偏移找到任何一个需要的量,比如今天是今年的第几天。 程序如下:
import time print time.localtime()[7]
结果:
有把时间戳变成时间元组的函数,那么就有把时间元组变为时间戳的函数。如下
2)time.mktime(t):
t是一个有九个元素的元组,他返回的值是时间戳,让我们用例子验证一下。我们从上面得到了今天的时间元组。我们就用这个数据。
import time t=(2013,2,5,20,18,40,1,36,0) print time.mktime(t)
结果:
我们用这个数据来验证一下结果。
import time t=1360066720.0 print time.localtime(t)
喏,他得到了正确的答案。
我们也有返回当前时间的时间戳的函数,这样就免了上面两步。
3)time.time():
例子就很简单了。因为过去了一段时间,所以我们得到的数据和上一个并不是完全吻合。
import time print time.time()
哦对了,我需要强调一个概念,UTC,Coordinated Universal Time,世界协调时。有了这个东西,我们就有了其他的必须的函数定义。
4)time.gmtime([secs]):
他与time.localtime()相类似,只不过他转换时间戳为UTC时间。
其余的函数我们以后有需要再介绍,如果有兴趣请参阅 Python社区官方模块文档,http://docs.python.org/2/library/time.html