python内置模块——time

python中常见处理时间的函数除了之前介绍的datetime模块,还有一个time模块,其中最著名的一个方法就是sleep,其在线程、进程中常常得到应用。

time模块中表示时间的方式一般有以下四种:

  • 时间戳:时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。
  • 格式化的时间字符串:有专门用于时间显示的格式化字符串,下面会介绍到。
  • 元组(struct_time):由九个元素组成,下面会详细介绍。
  • asctime形式:例如这种'Tue Oct 30 18:38:05 2018'

显示时间戳形式

  • time.time():显示当前时间戳
>>> time.time()
1540895526.2518616
  • time.mktime(k):将k这个元组形式的时间格式转换成时间戳,k这个参数是必须的。
>>> time.mktime(time.localtime())
1540895650.0

显示元组格式

下面是元组九个元素:

  • time.localtime():返回当前以元组格式的时间
>>> time.localtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=30, tm_hour=18, tm_min=39, tm_sec=17, tm_wday=1, tm_yday=303, tm_isdst=0)
  • time.gmtime():返回当前0时区的元组形式时间,我国是在东八区。
>>> time.gmtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=31, tm_hour=15, tm_min=2, tm_sec=33, tm_wday=2, tm_yday=304, tm_isdst=0)
  • time.strptime(string[,format]):将格式化时间字符串变成元组形式,第一个必须参数是字符串时间,第二个可选参数是对应字符串时间的格式化形式,默认是"%a %b %d %H:%M:%S %Y"。格式化规则下面有介绍
>>> time.strptime('2018-10-31 23:30:53', '%Y-%m-%d %H:%M:%S')
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=31, tm_hour=23, tm_min=30, tm_sec=53, tm_wday=2, tm_yday=304, tm_isdst=-1)

自定义格化时间格式

下图是time模块的格式化规则

  • time.strftime(format[,t]):将元组形式的时间变成指定格式化的字符串,第一个必选参数是指定的格式化,第二个可选参数表示元组形式的时间,默认是time.localtime()返回的结果。
>>> time.strftime('%Y-%m-%d %H:%M:%S')
'2018-10-31 23:33:14'

显示asctime形式

  • time.asctime([t]):将元组形式的时间转为asctime,默认传入time.localtime()。
>>> time.asctime()
'Wed Oct 31 23:36:30 2018'
  • time.ctime([t]):将时间戳转为asctime,默认传入time.time()。
>>> time.ctime()
'Wed Oct 31 23:37:55 2018'

其他主要方法

  • time.sleep(secs):睡眠secs秒,常在线程中应用,可模拟阻塞任务和耗时任务。
  • time.clock():这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是“进程时间”,它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。
    >>> time.clock()
    8.533329692445998e-07
    >>> time.clock()
    7.501826345887426
    >>> time.clock()
    16.350440383812103

     

 

posted @ 2018-10-31 23:44  龙~白  阅读(193)  评论(0编辑  收藏  举报