Chinaunix首页 | 论坛 | 博客
  • 博客访问: 35546
  • 博文数量: 16
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-09 09:59
文章分类

全部博文(16)

文章存档

2010年(16)

我的朋友

分类: Python/Ruby

2010-07-21 20:47:46

1. time和datetime模块
   import datetime,time

2. 获得当前时间
   time.time() #获得当前时间,返回float型
   time.localtime([float time]) #获得本地当前时间,返回time.struct_time类型
     
   说明:struct_time是一个只读的9元组,其中参数命名分别如下:
        

Index

Attribute

Values

0

tm_year

(for example, 1993)

1

tm_mon

range [1, 12]

2

tm_mday

range [1, 31]

3

tm_hour

range [0, 23]

4

tm_min

range [0, 59]

5

tm_sec

range [0, 61]; see (1) in strftime() description

6

tm_wday

range [0, 6], Monday is 0

7

tm_yday

range [1, 366]

8

tm_isdst

0, 1 or -1; see below

    
 
技巧一:
  那么,如果要进行如时间修改等操作,而struc_time是只读的,如何改变某个时间点的值呢?
  由于元组是不可改变的,而此时需要对localtime()的元组进行处理,元组是列表的另一形式,可以相互转化,列表可以随时修改,因而可以进行如下转化:
     ttTuple = time.localtime()
     ttList = list(ttTuple) #转化为列表
     ttList[4] = 30 #如果您要对第四项tm_min进行修改,此时就可以了
     ..... #列表中值进行修改
     ttTuple = tuple(ttList) #重新转化为元组
     strLocaltime = time.strftime("%Y-%m-%d %X",ttTuple) #转化为2010-07-21 20:30:00

技巧二:
  如何快速处理列表中的每一项数据,例如将列表中所有的整型转化为str类型,并进行字符串处理?
  具体地,例如给定一个浮点时间timer,输出为一个格式为YYYY-mm-dd_hh-mm格式的字符串。
       ttTuple = time.localtime(timer)
       ttList = list(ttTuple)
       strList = map(str,ttList) #将列表中的每项转化为str类型, 但由于是由int转化str
       #单数的时间,1-9无法转化为‘01’,‘02’形式,需要处理
       for i in range(5):
            if(len(strList[i])%2 != 0):
                 strList[i] = '0' + strList[i] #单数,则补上0
       strTime = strList[0]+'-'+strList[1]+'-'+strList[2]+'_'+strList[3]+'-'+strList[4] #获得目标格式
    
    当然,或者可以利用strLocaltime = time.strftime(format,ttTuple)来解决,没有校验过,可以试试。当时脑袋短路了,只想到这个方法,主要是为了新学的map()函数能够用上,高手请任意拍砖,咱新手一枚。

3.时间相互转化
   time.strftime(format,struc_time) #将元组转化为用户自定义的format格式,返回时间字符串
   time.strptime(str,format) #将format格式的时间字符串str转化为元组,返回struc_time类型
   time.mktime(struc_time) #将元组转化为float类型的时间,返回float类型

技巧三:
   由上述可见,利用floatTime = time.mktime(time.strptime(str,format))可以将时间字符串转化为浮点型时间格式,便于进行时间计算

以上是我在处理时间和字符串处理遇到的问题和一些解决手段,写个总结,作为备忘吧,脑袋不好使,总是记不住,每次都需要查,烦死了,自己总结下~~~

 

阅读(692) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~