python中的time模块提供一些方法用来进行关于时间的操作,time模块中有以下方法可供使用:
time() --- 返回当前时间的时间戳。
调用:time.time(), 可用于计算程序运行的时间,测试算法的优劣性。
sleep() --- 使程序暂停数秒。
调用:time.sleep(seconds), 传入秒数, 程序运行到这个函数时暂停一段时间。
gmtime() --- 以time.struct_time的格式返回当前UTC时间。
调用:time.gmtime([seconds]),传入时间戳,得到UTC tuple,如果未传入参数,以当前时间代替。
例如:
>>> time.gmtime(time.time())
time.struct_time(tm_year=2017, tm_mon=8, tm_mday=16, tm_hour=6, tm_min=39, tm_sec=46, tm_wday=2, tm_yday=228, tm_isdst=0)
localtime() --- 以time.struct_time的格式返回当前时间(本地时区)。
用法等同于gmtime().
asctime() --- 返回关于时间的格式化字符串, 例如'Sat Jun 06 16:26:11 1998'
调用:time.asctime([tuple]),tuple形式即time.struct_time。
例如:
>>> time.asctime(time.localtime()) 'Wed Aug 16 14:59:26 2017'
ctime() --- 返回同asctime()一样的字符串。
调用:time.ctime(seconds),传入时间戳。
例如:
>>> time.ctime(time.time()) 'Wed Aug 16 15:02:03 2017'
mktime() --- 返回时间戳。
调用:time.mktime(tuple),tuple形式即time.struct_time。
例如:
>>> time.mktime(time.localtime())
1502867286.0
strftime() --- 将time.struct_time转成可格式化字符串。
调用:time.strftime(format[, tuple])
例如:
>>> time.strftime("%Y/%m/%d %H:%M:%S", time.localtime()) '2017/08/16 15:15:56'
常用格式代码:
%Y 以十进制数字表示年
%m 以十进制数字表示月
%d 以十进制数字表示天
%H 以十进制数字表示时
%M 以十进制数字表示分
%S 以十进制数字表示秒
%z 表示时区偏离UTC的时间差
例如(东八区比UTC快0天8时0分0秒):
>>> time.strftime("%z", time.localtime()) '+0800'
%a 星期的缩写
%A 星期的全写
%b 月份的缩写
%B 月份的大写
%c 等同于ctime()返回的格式
%I 以12小时制表示时
%p 表示上午还是下午
例如:
>>> time.strftime("%a %b %I:%M:%S%p", time.localtime()) 'Wed Aug 03:38:33PM' >>> time.strftime("%A %B %I:%M:%S%p", time.localtime()) 'Wednesday August 03:39:07PM' >>> time.strftime("%c", time.localtime()) 'Wed Aug 16 15:39:19 2017'
strptime() --- 将格式化字符串转成tuple(time.struct_time)
调用:time.strptime(string, format)
例如(格式代码同上):
>>> time.strptime("2017/08/16 15:15:56", "%Y/%m/%d %H:%M:%S") time.struct_time(tm_year=2017, tm_mon=8, tm_mday=16, tm_hour=15, tm_min=15, tm_sec=56, tm_wday=2, tm_yday=228, tm_isdst=-1)