2008/04/08

Python中的时间操作

Python中的时间操作还是比较方便的,有专门的time模块提供多种接口形式。其中常用的两种操作数据格 式就是滴答和时间元组,关于这两个奇怪的名字,我也不便解释,总之在一本书上看着这么写,也就这么用,确实很难听。滴答是从1970年开始到现在的秒数, 在Python2.4.3中是一个浮点数,小数部分为更精密的部分,小于1秒的精细时间值。时间元组是一个具有9个成员的元组,依次为:年、月、日、小 时、分钟、秒、星期(0-6,0为周一)、一年中的哪一天(1-366,古罗马历)、Daylight savings(-1,0,1,我也不知是干什么用的)。

所以可以用如下方法提取当天的当时时间:

a,a,a,hour,minute,second,a,a,a=time.localtime(time.time())

这里的hour、minute、second分别是当时的时、分、秒,也是比较常用的参数。另外就是关于求时间差,如果使用 time.localtime()测定时间差,那么滴答值为0时的中国标准时间是1970年1月1日8:00,时间差无从谈起,所以对于时间差应该使用 time.gmtime()转换为TimeTuple再解包为各个时间参量。比如如下获得时间差:

a,a,a,hour,minute,second,a,a,a=time.gmtime(t1-t2)


对 dictionary of datetime排序

通常用 listObj.sort()排序,如果需要定义自己的排序方式,则:
1. 定义一个排序函数
def dictionary_datetime_sorter( d1, d2):
if d1 elif d1>d2: return 1
else: return 0

...
2. 将此函数作为sort()的input 对 list 排序。调用格式:
datetimeList.sort(dictionary_datetime_sorter)


没有评论: