python之time模块
1、time.time()方法
返回当前时间的时间戳(1970纪元后经过的浮点秒数)。
语法:
1
|
time.time() |
应用:
1
2
3
4
|
import time print (time.time()) #res: 1523418594.7086408 |
2、time.localtime()方法
time.localtime()函数类似gmtime(),作用是格式化时间戳为本地时间。如果sec参数未输入,则以当前时间为转换时间。DST(Daylight Savings Time) flag(-1,0,or 1)是否为夏令时。
语法:
1
|
time.localtime([sec]) |
应用:
1
2
3
4
5
6
7
|
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个字符的字符串
语法:
1
|
time.asctime([t]) # t -- 9个元素的元组通过gmtime()或localtime()返回时间值 |
应用:
1
2
3
4
5
|
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()为参数。
语法:
1
|
time.ctime([sec]) #sec -- 需要转换为字符串时间的秒数 |
应用:
1
2
3
4
5
6
7
|
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决定。、
语法:
1
|
time.strftime( format [,t]) |
参数说明:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
参数: 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 当前时区的名称 % % % 号本身 |
应用:
1
2
3
4
5
6
7
8
9
|
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指定秒数,表示进程挂起的时间。
语法:
1
|
time.sleep(t) # t -- 推迟执行的秒数 |
应用:
1
2
3
4
5
6
7
8
9
|
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。
语法:
1
|
time.mktime(t) # t -- 结构化的时间或者完整的9位元组元素。 |
应用:
1
2
3
4
5
6
7
8
9
10
|
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模块中定义的表示时间的对象。)
该函数没有任何返回值。
语法:
1
|
time.gmtime([sec]) # sec -- 转换为time.struct_time类型的对象的秒数 |
应用:
1
2
3
4
5
6
7
|
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()为基础,它比毫秒表示更为精确)
语法:
1
|
time.clock() |
返回值:
该函数有两个功能,
在第一次调用的时候,返回的是程序运行的实际时间;
以第二次之后的调用,返回的是自第一次调用后,到这次调用的时间间隔
在win32系统下,这个函数返回的是真实时间(wall time),而在Unix/Linux下返回的是CPU时间。
应用:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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 |