Time 模块功能解析

在实际的编程中我们要经常与时间打交道,所以time模块是非常有用的,在python中,对时间的处理并不只有time,还有datetime和calendar,locale。

本文只涉及time模块。

首先我们需要明确两点概念。

1)时间戳

时间戳就是从1970年1月1日00:00:00开始按秒计算的偏移量。

2)时间元组。

包含一个时刻各种状态的元组。 包括:年,月,日,时,分,秒,第几周,第几天,夏令时标示。


何为元组。

元组是由基本简单的对象所构成的。元组与表非常相似,但是元组是不可修改的。而且写成圆括号而不是方括号。元组中的元素通过偏移来访问,类似于C语言中的数组,偏移则用中括号表示。

image

图片来自《Python学习手册(第三版)》


以下是time模块的常用函数。

1)time.localtime([secs])

将一个时间戳转变为当地时区的时间元组。secs为以秒为单位的参数,当不提供参数时,就有题1中的情况,取本地时间。那么我们看下例子。

import time
print time.localtime()

我们得到的结果如下:

image

我们可以根据偏移找到任何一个需要的量,比如今天是今年的第几天。 程序如下:

import time
print time.localtime()[7]

结果:

image

有把时间戳变成时间元组的函数,那么就有把时间元组变为时间戳的函数。如下

2)time.mktime(t)

t是一个有九个元素的元组,他返回的值是时间戳,让我们用例子验证一下。我们从上面得到了今天的时间元组。我们就用这个数据。

import time
t=(2013,2,5,20,18,40,1,36,0)
print time.mktime(t)

结果:

image

我们用这个数据来验证一下结果。

import time
t=1360066720.0
print time.localtime(t)

喏,他得到了正确的答案。

image

我们也有返回当前时间的时间戳的函数,这样就免了上面两步。

3)time.time()

例子就很简单了。因为过去了一段时间,所以我们得到的数据和上一个并不是完全吻合。

import time
print time.time()

image

哦对了,我需要强调一个概念,UTC,Coordinated Universal Time,世界协调时。有了这个东西,我们就有了其他的必须的函数定义。

4)time.gmtime([secs])

他与time.localtime()相类似,只不过他转换时间戳为UTC时间。

 

其余的函数我们以后有需要再介绍,如果有兴趣请参阅 Python社区官方模块文档,http://docs.python.org/2/library/time.html

posted @ 2013-02-05 20:40  传说中的福利君  阅读(1989)  评论(2编辑  收藏  举报