文章目录
- 前言
- 导入
- 一、基础函数:time.time() time.localtime() time.mktime()
- 1.time函数
- 2.localtime函数
- 3.mktime函数
- 二、更加复杂的函数:gmtime函数,asctime函数,ctime函数
- 4.gmtime函数
- 5.asctime函数
- 6.ctime函数
- 三、应用型:sleep函数,strftime函数,strptime函数
- 7.sleep函数
- 8.strtime函数
- 9.strptime函数
- 总结
前言
hello,大家好,我是不太好的bobo仔
最近工作量好大,好累~~~
不过大家不要担心,我会尽量做到2天一更,重回我的辉煌时刻!
上一章节我给大家介绍了一些关于Python时间的基础知识,比如时间戳,时间与元组,时间转换符,ect.
这一章节,我们会彻底与time库打上交道,开始学习time库中炫酷的函数。
are you ready?
GO!!!
导入
time库,世界宇宙 Python世界的结晶,全Python关键的应用。
time库是一个基本库,所以不用像我们的pygame和Django一样要我们用pip工具主动下载,也是非常的方便
看过我上一篇文章的朋友们可能知道,时间的表示与转换符号在没有彻底学会函数前是非常复杂的,但是大家又觉得在文章末尾的两块代码片却使用的非常彻底,就是经典的time库对象函数
这节课,我将手把手带大家来运用这些函数指令。
一、基础函数:time.time() time.localtime() time.mktime()
这三个函数都比较基础,接下来我会给大家讲解一下应该怎么使用这些time库的专用函数
首先…
导入time…
import time
1.time函数
time函数用于返回当前时间的时间戳(概念请到上篇去阅读),time函数返回的是浮点数(float),例如:
我们想要让time返回现在的时间戳,我们就要这样写:
import time
now = time.time()
print("当前的时间戳是:%f" % now)
#这个过程中的时间格式化符号大家可以去我前面的文章看
执行结果如下:
怎么样,是不是just soso???
当然,取整数也不是不行。。。
2.localtime函数
这个函数比time函数更加直观一些
可能对于有些朋友来说时间戳的使用并不是非常必要,所以这个函数大家可能用地更加频繁一些
localtime函数会把时间戳转化成本地时间,返回struct_time对象
不过,这个函数有一个参数用于接收时间戳,如果调用localtime时不提供时间戳,他就会使用当前的时间戳
代码示例如下:
哇,输出的东西…
好一个时间元组!!!!!!!
从这个例子运行结果可以看到,localtime返回了struct_time类型,而且可以验证时间戳是从1970.1.1.08:00a.m.开始的(北京时间)
3.mktime函数
这个函数执行与上面的localtime函数和下面的gmtime的相反操作,它接收struct_time对象作为参数,返回用秒数来表示时间的浮点数,mktime的函数可以是结构化的时间,也可以是完整的9位元组元素
import time
t = (2018,7,17,17,3,1,1,1,0)
secs = time.mktime(t)
print("time.mktime(t):%f"%secs)
print("time.mktime(time.localtime(secs)):%f"%time.mktime(time.localtime(secs)))
em…现在看来,localtime是不是非常有用武之地呢?
从这个例子可以看出,mktime函数可以使用时间元组作为参数,也可以使用time_struct示例作为参数(localtime的返回值为time_struct对象!!!)
二、更加复杂的函数:gmtime函数,asctime函数,ctime函数
(前方高能!大家注意记笔记!)
4.gmtime函数
gmtime函数能将一个时间戳转换为UTC(0时区)的struct_time,可选参数sec表示1970-1-1以来的秒数。
gmtime函数的默认值time.time(),函数返回time.struct_time类型的对象
(上述是在time模块中定义的表示时间的对象)
代码示例:
这就是上述mktime函数的反操作
是不是这样呢?
5.asctime函数
呼~~~这个函数终于正常一点了
比如我们用如下代码,输出的结果就是:
import time
t = (2018,7,17,17,3,1,1,1,0)
print("time.asctime(t)", time.asctime(t))
print("time.asctime(time.localtime())",time.asctime((time.localtime())))
是不是更加可读了呢?
可能很多编程小白在刚刚上手Python time标准库的时候,感觉最有用的就只有这个asctime和time函数
6.ctime函数
这个函数和函数5长得非常的像,但是也略有不同,大家了解一下
import time
print("time.ctime():%s"%time.ctime())
print("time.ctime(0):%s"%time.ctime(0))
输出结果非常的自然,和刚刚的asctime函数一样!
三、应用型:sleep函数,strftime函数,strptime函数
这三个函数中,sleep函数几乎是所有函数中最重要的一个,因为你不管设计什么,总会有推迟线程的运行
7.sleep函数
这个函数通过参数secs来指秒数,表示进程挂起的时间,比如:
import time
print("Start : %s"%time.ctime())
time.sleep(9)
print("End:%s"%time.ctime())
输出结果
8.strtime函数
strtime函数用于接受时间元组,并返回以可读字符串表示的当地时间,格式有参数format决定。
例如;
import time
t = (2018,7,17,17,3,1,1,1,0)
t = time.mktime(t)
print(time.strftime("%b %d %Y%H:%M:%S",time.gmtime(t)))#注意gmtime的使用
说实话,这几个函数使用的差不多,所以大家要学会彼此之间的转化
9.strptime函数
这个函数就是上面函数的反操作,能根据指定的格式把一个时间字符串转化为时间元组
比如:
import time
struct_time = time.strptime("Jul 17 2018 09:03:01","%b %d %Y %H:%M:%S")
print("返回的元组:",struct_time)
(备注:%与字符之间不能有空格!不能有空格!不能有空格!重要的事情说三遍!否则,他就会报错ValueError!!!)
总结
呼~~~忙忙碌碌的一节课终于结束啦!
这次我们学的九个函数都是干货,尤其是后面6个,基本上都是一环套一环,成套出现的。
但是呢,我们的基础还是要依赖上节课末尾讲的东西,所以…
大家一定要去翻翻我上节课的文章,去学习一下time的基础概念>>>
下节课,我们将继续挖掘time库的真相,去看看它的新分支:datetime
你准备好了吗?快去学习吧!!
最后的最后,制作不易,别忘了【一圈三连】,点个关注,下期见!