time模块

Posted 爱你无目的

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了time模块相关的知识,希望对你有一定的参考价值。

#前面已经了解了时间的基本概念,接着将具体了解time模块中的一些常用函数。time模块的内置函数有做时间处理的,也有转换时间格式的。
 
1、time()函数
#time()函数用于返回当前时间的时间戳(1970年01月01日08时00分00秒到现在的浮点秒数)。
#time()函数的语法如下:
time.time()
#此语法中第一个time指的是time模块,该函数不需要传递参数。
#time函数返回当前时间的时间戳。
#该函数使用示例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #time_10.2
4 
5 import time
6 
7 print(\'当前时间戳:%f\'%time.time())
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171221>python time_10.2.py
2 当前时间戳:1513867659.415586
2、localtime([secs])函数
#localtime()函数的作用是格式化时间戳为本地时间。如果secs参数未输入,就以当前时间为转换标准。
#localtime()函数的语法如下:
time.localtime([secs])
#此语法中time指的是time模块,secs值转换为time.struce_time类型的对象的秒数。
#该函数没有任何返回值。
#该函数使用示例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #time_10.2
4 
5 import time
6 
7 print(\'time.localtime():\',time.localtime())
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171221>python time_10.2.py
2 time.localtime(): time.struct_time(tm_year=2017, tm_mon=12, tm_mday=21, tm_hour=22, tm_min=54, tm_sec=31, tm_wday=3, tm_yday=355, tm_isdst=0)
3、gmtime([secs])函数
#gmtime()函数用于将一个时间戳转换为UTF时区(0时区)的struct_time,可选的参数secs表示从1970-1-1到现在的秒数。gmtime()函数的默认值为time.time(),函数返回time.struct_time类型的对象(struct_time是在time模块中定义的表示时间的对象)。
#gmtime()函数的语法如下:
1 time.gmtime([secs])
#此语法中time指的是time模块,secs指转换为time.struct_time类型的对象的秒数。
#该函数没有任何返回值。
#该函数示例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #gmtime([secs])
4 
5 import time
6 
7 print(\'time.gmtime():\',time.gmtime())
#执行结果如下:
1 D:\\Pythonworkspace>python gmtime([secs])
2 time.gmtime(): time.struct_time(tm_year=2017, tm_mon=12, tm_mday=25, tm_hour=3, tm_min=30, tm_sec=28, tm_wday=0, tm_yday=359, tm_isdst=0)
4、mktime(t)函数
#mktime()函数用于执行与gmtime()、localtime()相反的操作,接受struct_time对象作为参数,返回用秒数表示时间的浮点数。如果输入的值不是合法时间,就会触发OverflowError或ValueError.
#mktime()函数的语法如下:
time.mktime(t)
#此语法中time指的是time模块,t是指结构化的时间或完整的9位元组元素。
#返回用秒数表示时间的浮点数。
#该函数实例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #mktime(t)
4 
5 import time
6 
7 t=(2017,12,25,14,16,25,6,48,0)
8 print(\'time.mktime():%f\'%time.mktime(t))
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171226>python mktime(t).py
2 time.mktime(t):1514295225.000000
5、asctime([t])函数
#asctime()函数用于接收时间元组并返回一个可读形式为Tue Dec 26 21:45:51 2017(2017年12月26日 周二21时45分51秒)的24个字符的字符串。
#asctime()函数的语法如下:
1 time.asctime([t])
#此语法中time指的是time模块,t指完整的9位元组元素或通过函数gmtime()、localtime()返回的时间值。
#示例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #asctime([t])
4 
5 import time
6 
7 t=time.localtime()
8 print(\'time.asctime(t):%s\'%time.asctime(t))
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171226>python asctime([t]).py
2 time.asctime(t):Tue Dec 26 21:45:51 2017
6、ctime([secs])函数
#ctime()函数用于把一个时间戳(按秒计算的浮点数)转化为time.asctime()的形式。如果未指定参数secs或参数为None,就会默认将time.time()作为参数。ctime的作用相当于asctime(localtime(secs)).
#ctime()函数的语法如下:
1 time.ctime([secs])
#此语法中time指的是time模块,secs指要转换为字符串时间的秒数。
#该函数没有任何返回值。
#该函数示例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #ctime([secs])
4 
5 import time
6 print(\'time.ctime():%s\'%time.ctime())
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171226>python ctime([secs]).py
2 time.ctime():Tue Dec 26 22:04:11 2017
7、sleep(secs)函数
#sleep()函数用于推迟调用线程的运行,可通过参数secs指定进程挂起的时间。
#sleep()函数的语法如下:
1 time.sleep(secs)
#此语法中time指的是time模块,secs指推迟执行的秒数。
#该函数没有任何返回值。
#该函数示例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #sleep(secs)
4 
5 import time
6 
7 print(\'Start:%s\'%time.ctime())
8 time.sleep(5)
9 print(\'End:%s\'%time.ctime())
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171226>python sleep.py
2 Start:Tue Dec 26 22:10:23 2017
3 End:Tue Dec 26 22:10:28 2017
#由执行结果看到,输出的时间间隔了5秒。
8、clock()函数
#clock()函数用于以浮点数计算的秒数返回当前CPU时间,用于衡量不同程序的耗时,比time.time()更有用。该函数在不同系统上含义不同。在UNIX系统上,返回的是“进程时间”,是用秒表示浮点数(时间戳);在windows上,第一次调用返回的是进程运行的实际时间,第二次之后的调用是自第一次调用后到现在的运行时间。
#clock()函数的语法如下:
1 time.clock()
#此语法中time指的是time模块,该函数不需要参数。该函数有两个功能:
(1)在第一次调用时,返回程序运行的实际时间。
(2)第二次之后的调用,返回自第一次调用后到这次调用的时间间隔。
#在win32系统下,clock()函数返回的是真是时间(wall time),而在UNIX/Linux下返回的是CPU时间。
#该函数示例如下:
 1 #!/usr/bin/python3
 2 #-*-coding:UTF-8-*-
 3 #time.clock()
 4 
 5 import time
 6 
 7 def procedure():
 8     time.sleep(2)
 9 
10 #measure process time
11 t1=time.clock()
12 procedure()
13 print(\'second process time:\',time.clock()-t1)
14 
15 #measure wall time
16 t2=time.clock()
17 procedure()
18 print(\'second wall time:\',time.clock()-t2)
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171226>python clock.py
2 second process time: 1.9999403212465485
3 second wall time: 2.0004538626217903
#此处的执行结果会因电脑的不同而有所差异(精准度存在差异)。
9、strftime(format[,t])函数
#strftime()函数用于接收时间元组,并返回以可读字符串表示的当地时间,格式由参数format决定。
#strftime()函数的语法如下:
1 time.strftime(format[,t])
#此语法中time指的是time模块,format指格式化字符串,t指可选参数,是一个struct_time对象。
#返回以可读字符串表示当地时间。
#该函数使用示例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #strftime(format[,t])
4 
5 import time
6 
7 t=(2017,12,27,21,49,50,5,47,0)
8 t=time.mktime(t)
9 print(time.strftime(\'%b %d %Y %H:%M:%S\',time.gmtime(t)))   #各参数前进行了适当的空格。
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171227>python strftime(format[,t]).py
2 Dec 27 2017 13:49:50
10、strptime(string[,format])函数
#strptime()函数用于根据指定的格式把一个时间字符串解析为时间元组。
#strptime()函数的语法如下:
1 time.strptime(string[,format])
#此语法中time指的是time模块,string指时间字符串,format指格式化字符串。
#返回struct_time对象。
#该函数使用示例如下:
1 #!/usr/bin/python3
2 #-*-coding:UTF-8-*-
3 #strptime(string[,format])
4 
5 import time
6 
7 struct_time=time.strptime("25 Sep 16","%d %b %y")
8 print(\'returned tuple:\',struct_time)
#执行结果如下:
1 D:\\Python\\workspace\\datatime\\20171227>python strptime(string[,format]).py
2 returned tuple: time.struct_time(tm_year=2016, tm_mon=9, tm_mday=25, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=269, tm_isdst=-1)
11、三种时间格式转化
#我们前提到,Python中有3种表示时间的格式。这3种时间格式可以相互转化,转化方式如下图1和图2所示:
 
 
 
 
 
 
 
 
 
 

以上是关于time模块的主要内容,如果未能解决你的问题,请参考以下文章

1 代码片段1

学习笔记:python3,代码片段(2017)

如何使用模块化代码片段中的LeakCanary检测内存泄漏?

如何有条件地将 C 代码片段编译到我的 Perl 模块?

如何计算破折号媒体片段名称的 $Time$ 变量?

golang代码片段(摘抄)