时间:2014.03.25
地点:基地
---------------------------------------------------------------------------------
一、简述
在材料院的项目中有几个地方用到时间处理模块,特别是在绘制时间—应力曲线时,我们要用到time模块来计时。今天干脆对time模块的用法总结一下,以便以后用起来更加熟练。
time模块下有两种时间表示方法,一种是:时间戳的方式,是基于1970年1月1日0时0分0秒的偏移,第二种方式是struct_time()类型的表示方法。
---------------------------------------------------------------------------------
二、详情
首先当然是要import一下time模块:
import time
之后我们介绍该模块下的几个常用函数
1. time.time() 返回自1970年1月1日到目前为止的秒数,即所谓的时间戳,是一个浮点数。我对此表示怀疑,所以type一下,果然是浮点数:
type(time.time())
对于高档的攻城狮而言,记住1970年1月1日是应该的,就像你应该知道1949年10月1日一样。
2. time.sleep() 用于挂起当前线程,它接受一个浮点数,表示挂起时间,单位是秒。比如:
time.sleep(2.5) #将当前线程挂起2.5秒,休息2.5秒,让子弹再飞一会儿吧
import time
time.clock()
time.sleep(1.2)
print time.clock()
import time
time.gmtime() #返回当前时间对应的time_struct类型对象
time.gmtime(time.time()-24*60*60) #返回昨天此时对应的time_struct对象
5. time.localtime() 和time.gmtime()一样,刚开始我打印time.gmtime()发现时间上不对,结果发现还有个time.localtime(),试一下这个就对上了,原来localtime才是返回本地时间对应的一个time_struct对象的,而gmtime()大概就是返回一个国际标准时间对应的struct_time对象吧!
6. time.mktime() 和上述两个函数的操作相反,用于将structt_time对象转换为累加秒数,可这样测试一下,他们的结果应该大致相当
import time
print time.time()
print time.mktime(time.localtime())
print time.mktime(time.gmtime())
7. time.strftime() 将时间按照给定格式解释为时间字符串,函数原型为:time.strftime(format [,t]) 其中t为一个struct_time对象,至于你想要得格式可按照你的要求自由组合,但就像C中的printf函数一样,用%控制符来控制
import time
print time.strftime('%Y-%m-%d %H:%M:%S')
print time.strftime('%w,%j',time.gmtime())
可总结下这些百分号控制符的用法,如下:
%Y 对应年份四位数表示 %y 对应年份两位数表示 %m 对应月份 %d 对应日期 %H 对应时间 24小时制 %I 对应时间12小时制 %M 对应分钟 %S 对应秒钟 %j 对应一年中的第几天 %w 对应星期 %W一年中的星期数
8. time.strptime()将时间字符串解释为一个struct_time对象,它接收两个字符串参数,用法如下示例:
import time
print time.strptime('2009-06-23 15:30:53', '%Y-%m-%d %H:%M:%S')
9. time.ctime()将一个时间戳转换成一个字符串,默认为当前时间戳