本文针对Python time模块进行分类学习,希望对大家的学习有所帮助。
一.壁挂钟时间
1.time()
time模块的核心函数time(),它返回纪元开始的秒数,返回值为浮点数,具体精度依赖于平台。
1
2
3
4
5
|
>>> import time
>>>time.time()
1460599046.85416
|
2.ctime()
浮点数一般用于存储和比较日期,但是对人类不友好,要记录和打印时间,可以使用ctime()。
1
2
3
4
5
6
7
8
9
10
11
|
>>> import time
>>>time.ctime()
'Thu Apr 14 10:03:58 2016'
>>> later = time.time() + 5
>>> time.ctime(later)
'Thu Apr 14 10:05:57 2016'
|
二.处理器时钟时间
clock()返回处理器时钟时间,它的返回值一般用于性能测试与基准测试。因此它们反映了程序的实际运行时间。
1
2
3
4
5
|
>>> import time
>>>time.clock()
0.07
|
三.时间组成
time模块定义了struct_time来维护时间和日期,其中分开存储各个组成部分,以便访问。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import time
def show_struct(s):
print 'tm_year:", s.tm_year
print 'tm_mon:", s.tm_mon
print "tm_mday:" , s.tm_mday
print "tm_hour:" ,s.tm_hour
print "tm_min:" , s.tm_min
print "tm_sec:" , s.tm_sec
print "tm_wday:" , s.tm_wday
print "tm_yday:" , s.tm_yday
show_struct(time.gmtime())
show_struct(time.localtime())
|
gmtime()用于获取UTC时间,localtime()用于获取当前时区的当前时间,UTC时间实际就是格林尼治时间,它与中国时间的时差为八个小时。
locatime() = gmtime() + 8hour
四.处理时区
1.获取时间差
1
2
3
4
5
|
>>> import time
>>>time.timezone / 3600
- 8
|
2.设置时区
1
2
3
4
5
6
7
|
ZONES = [ "GMT" , "EUROPE / Amsterdam']
for zone in ZONES:
os.environ[ "TZ" ] = zone
time.tzset()
|
五.解析和格式化时间
time模块提供了两个函数strptime()和strftime(),可以在struct_time和时间值字符串之间转换。
1.strptime()
用于将字符串时间转换成struct_time格式:
1
2
3
4
5
|
>>> now = time.ctime()
>>> time.strptime(now)
time.struct_time(tm_year = 2016 , tm_mon = 4 , tm_mday = 14 , tm_hour = 10 , tm_min = 48 , tm_sec = 40 , tm_wday = 3 , tm_yday = 105 , tm_isdst = - 1 )
|
2.strftime()
用于时间的格式化输出
1
2
3
4
5
|
>>> from time import gmtime, strftime
>>> strftime( "%a, %d %b %Y %H:%M:%S +0000" , gmtime())
'Thu, 28 Jun 2001 14:17:15 +0000'
|
3.mktime()
用于将struct_time转换成时间的浮点数表示
1
2
3
4
5
|
>>> from time import mktime, gmtime
>>>mktime(gmtime())
1460573789.0
|
六.sleep()
sleep函数用于将当前线程交出,要求它等待系统将其再次唤醒,如果写程序只有一个线程,这实际上就会阻塞进程,什么也不做。
1
2
3
4
5
6
7
|
import time
def fucn():
time.sleep( 5 )
print "hello, world"
|
执行上面的代码,将等待5秒钟之后再输出信息。
以上就是本文的全部内容,希望大家可以对Python time模块有个大概的了解。