python之time模块
1、time.time()方法
返回当前时间的时间戳(1970纪元后经过的浮点秒数)。
语法:
time.time()
应用:
import time print(time.time()) #res: 1523418594.7086408
2、time.localtime()方法
time.localtime()函数类似gmtime(),作用是格式化时间戳为本地时间。如果sec参数未输入,则以当前时间为转换时间。DST(Daylight Savings Time) flag(-1,0,or 1)是否为夏令时。
语法:
time.localtime([sec])
应用:
import time print(time.localtime()) print(time.localtime(time.time())) #res: #time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=12, tm_min=0, tm_sec=21, tm_wday=2, tm_yday=101, tm_isdst=0) #time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=12, tm_min=0, tm_sec=21, tm_wday=2, tm_yday=101, tm_isdst=0)
3、time asctime()方法
time asctime()函数接受时间元组并返回一个可读的形式为“Wed Apr 11 12:24:35 2018”的 24个字符的字符串
语法:
time.asctime([t]) # t -- 9个元素的元组通过gmtime()或localtime()返回时间值
应用:
import time t = time.localtime() print("time.asctime(t): %s" %time.asctime(t)) #res: time.asctime(t): Wed Apr 11 12:24:35 2018
4、time ctime()方法
time ctime()函数把一个时间戳(按秒计算的浮点数)转化成time.asctime()形式。如果参数未给或为None的时候,将会默认time.time()为参数。
语法:
time.ctime([sec]) #sec -- 需要转换为字符串时间的秒数
应用:
import time print(time.asctime()) print(time.ctime()) #res: #Wed Apr 11 12:31:58 2018 #Wed Apr 11 12:31:58 2018
5、time strftime()方法
time strftime()函数接收以时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定。、
语法:
time.strftime(format[,t])
参数说明:
参数: format -- 格式化字符串。 t -- 可选的参数t是一个struct_time对象。 返回值: 返回以可读字符串表示的当地时间。 说明: python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内的一天(0-31) %H 24小时制小时数(0-23) %l 12小时制小时数(01-12) %M 分钟数(00-59) %S 秒 (00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化月份名称 %B 本地完整月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53) 星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53) 星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 %% %号本身
应用:
import time print(time.time()) print(time.localtime()) print(time.strftime("%b %d %Y %H:%M:%S",time.localtime(time.time()))) #res: #1523427407.9530156 #time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=14, tm_min=16, tm_sec=47, tm_wday=2, tm_yday=101, tm_isdst=0) #Apr 11 2018 14:16:47
6、time sleep()方法
time sleep()函数推迟调用线程的运行,可通过sec指定秒数,表示进程挂起的时间。
语法:
time.sleep(t) # t -- 推迟执行的秒数
应用:
import time print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # 暂停一秒 time.sleep(1) print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) #res: #2018-04-11 14:31:53 #2018-04-11 14:31:54
7、time mktime()方法
time mktime()函数执行与gmtime(),localtime()相反的操作,它接收的struct_time对象为参数,返回用秒数来表示时间的浮点值
如果输入的值不是一个合法的时间,将触发OverflowError 或ValueError。
语法:
time.mktime(t) # t -- 结构化的时间或者完整的9位元组元素。
应用:
t = (2018,4,11,14,12,20,0,0,0) secs = time.mktime(t) print(secs) print(time.localtime(secs)) print(time.asctime(time.localtime(secs))) #res: #1523427140.0 #time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=14, tm_min=12, tm_sec=20, tm_wday=2, tm_yday=101, tm_isdst=0) #Wed Apr 11 14:12:20 2018
8、time gmtime()方法
time gmtime()函数将一个时间戳转换为UTC时区(0时区)的struct_time,可选的参数sec表示从1970-1-1以来的秒数。其默认值是time.time(),函数返回time.struct_time类型的对象。(struct_time是在time模块中定义的表示时间的对象。)
该函数没有任何返回值。
语法:
time.gmtime([sec]) # sec -- 转换为time.struct_time类型的对象的秒数
应用:
import time print(time.localtime()) print(time.gmtime()) #res: #time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=14, tm_min=48, tm_sec=9, tm_wday=2, tm_yday=101, tm_isdst=0) #time.struct_time(tm_year=2018, tm_mon=4, tm_mday=11, tm_hour=6, tm_min=48, tm_sec=9, tm_wday=2, tm_yday=101, tm_isdst=0)
9、time clock()方法
time clock() 函数以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。
这个需要注意,在不同的系统上含义不同。在UNIX系统上,它返回的是"进程时间",它是用秒表示的浮点数(时间戳)。而在WINDOWS中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用是自第一次调用以后到现在的运行时间。(实际上是以WIN32上QueryPerformanceCounter()为基础,它比毫秒表示更为精确)
语法:
time.clock()
返回值:
该函数有两个功能,
在第一次调用的时候,返回的是程序运行的实际时间;
以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔
在win32系统下,这个函数返回的是真实时间(wall time),而在Unix/Linux下返回的是CPU时间。
应用:
import time def procedure(): time.sleep(2.5) # time.clock t0 = time.clock() print(t0) # 0.0 procedure() print(time.clock()) # 2.5000254293029536 print (time.clock() - t0) # 2.500084138566149 # time.time t0 = time.time() print(t0) # 1523431909.8959956 procedure() print(time.time()) # 1523431912.396053 print (time.time() - t0) # 2.500558614730835