当前课程知识点:计算思维与人工智能基础 > 第三部分:python基础 > 第八章:python生态库 > 8.3.标准库-Time库
下面我们给大家介绍time标准库
time库提供各种与时间相关的函数
包括时间的获取
时间格式化以及程序计时相关的方法
对于时间获取
time是从1970年开始经过的描述
他是一个时间戳类型
那么ctime呢,是获得字符格式当前的时间指定格式类型
gmtime是获得格林威治天文时间
他是一个struct_time类型
asctime呢
他获得的也是一个字符格式当前时间
是格式类型
那我们来看程序计时的通过sleep可以休眠多少多少毫秒
然后通过perf_counter去计时
那么通过调调用那个时间差
可获得程序的运行时间
那我们下面来看一下时间戳类型
struct_time类型
指定格式类型
它们之间是如何通过我们的方法转换的
我们来看struct_time类型
指定格式类型和时间戳这个类型
比如说我们通过time.time
可以获得一个时间戳类型
那么也就是浮点类型的
从1970年到现在的时间的浮点数值
可以通过time.gmtime或者是time.localtime
可以转换成struct_time类型
那么struct_time类型可以通过
我们的time.asctime或者time.strftime
转换成我们给定的格式或是指定的格式
指定的格式也可以通过strftime转换成struct_time
时间戳也可以通过.ctime来直接转换成指定格式类型的时间
下面看一下这个时间格式化模板字符串
那么常用的这就是我们的%Y,%m
说的是这个大写的%B表示的月份中
通过我们的月份的字母的全称
而百分号B是月份的缩写
另外一个要说的是百分号A
那么是星期就用也是字符的全称
小写%号a是字符的缩写
那么其他的跟我们平时常用的是H,h
以及秒分
常用的字符是一样的
我们来看这段代码
是在用标准库的时候也需要通过import导入
导入以后我们可以用到time下面的gmtime
得到一个格林威治的时间
那么这个时间是刚才我们介绍struct_time类型
我们要把它转换成格式类型通过strftime这个方法
就可以把这个转换成我们这样指定的格式输出
另外,我们再看一下
我们可以给定一个字符串的这样的一个时间的类型
那么这个类型也可以通过strptime转换成struct_time类型
那么这个类型的就有年,月等等
日期时间还有星期
那么最后这个呢
他是不是夏令时的一个参数表示
那我们可以看的到用他们time.time获得浮点数类型的数据
时间用浮点数来表示
那么通过ctime获得当前时间的字符类型的表示
那在time里面sleep和perf_counter常常合在一起使用会做一些工作
那在这下面呢我们给大家看一个例子
通过sleep跟我们的或循环来实现进度条的一个显示工作
我们来看显示的这个结果其实就说
他可能不断的从这是第一个,然后第二个字段不断的显示下来
这段代码其实就是我们可以看到
这是定义了个scale这样的一个阵型变量
这是我们打印开始
那么这个循环的过程从零开始一直到scale+1
那么也就是从零到了该处
这个里面的A显示有多少个“星”
那么B那显示“点”
那么这是scale减去i个
那么也就是说我们a,b加起来应该是scale的十个
那么这个c是i在所有的里面的十个里面占的百分比
通过print语句来输出
那么输出这有一个大括号
那么这三个槽,他们分别输出了c,a,b
那么在这个里面的数c,他输出的格式长度为三
那么后面是浮点类型的数据
那么这个后面的但是小数点那是占零位
这样的输出
在这个循环里面最后一句是time.sleep
咱们要他去休眠零点五毫秒
那么这个呢就是零点五毫秒
再下一次循环零点五下一次循环
我们就一次一次一次的执行过程
这是一个单行自动刷新的
这也是通过我们输出这样的一个百分比
这个是我们的阵型数据的百分比
我们输出来以后是零点一毫秒刷新一次
那我们下面在Jupyter下看一下这些代码的执行过程
我们来看这个time.time导进来import time
time.time他们就得到了一个浮点数
从1970年到我们现在这个时间的浮点数
那么ctime获得一个字符类型的时间
那么gmtime得到一个就是struct_time类型的一个日期数据
localtime是获得当地的一个
time.time是我们可以看到是一个这样子的一个浮点数
然后通过localtime他就可以转换成struct_time类型的
我们可以通过strf把我们的strftime类型转换成我们给定的格式的
%Y,%m%d后面是十分秒
那么大写的H表示是我们的24小时值
我们再看看这个
这个是获得一个
这是我们struct_time然后再把它转换成我们的字符类型
输出以后第一个是我们的struct_time类型
下面这个我们把它转换成一个字符
指定格式的这样的一个日期类型
在下面我们可以看的到其实在这个标准库里面
还有一个calendar这个是也是一个日期的库
我们常用的时候可以获得他的月份
来把月份展示出来
这是月份
也可有datetime
datetime可以通过datetime下面的dete模块下面的today方法和now
那么得到当天的日期
还有我们通过这个today去减去某一个date delta指定的一个天数
能得到一个日期
这个我们可以看的到这个是当前获得日期
我们这个也是获得当前等待时间的
那么这个呢,是我们当天去减去两天
那么就是yestoday
下面我们看一下这个文本进度条的执行的情况
这是我们刚才讲的代码
我们看一下它的实现的情况
我们可以观察,他每次一个循环值都在变化
那么这个箭头也在变化
这就是这样的一个过程
我们再看下面这段代码
我们下面这段代码跟上面这段代码大部分是一样
多了一个通过time.porf_counter来去获得这个时间
那么在循环里边我们有一个dur
去通过这个时间获得当前的时间与start初始这个时间得到一个差
那么输出的时候也不一样
那输出我们可以看的到这个地方是一个斜杠r
这个就是不换行了
前面的这个print语句他就是正常的换行输出
那么这个就是不换行的一个输出
这个输出的格式跟刚才也是很相近的
只不过我们后面多了一个值
后面跟了一个dur有一个时间的显示
那么来看这段代码看它的执行过程
那么他就是这样子的“星”“点”都在变化
那么是后面的这个是我们dur的计时
我们看这个单行刷新的这个代码
他们也是一个循环
这只是一个不换行的输出
我们在循环里不换行输出
每sleep是什么呀
零点一毫秒,他更新一次
我们看一下它的结果
他就是这样子的
那么从零开始到一百这样一个过程
那么这个就是我们给大家介绍了关于time常用的方法
-章测试
-章测试
-第一章:python简介
--章测试
-第二章:编码规范
--2.2常量和变量
--章测试
-第三章:数据类型
--章测试
-第四章:基本运算
--4.2比较运算符
--4.3逻辑运算符
--4.4位运算符
--章测试
-第五章:程序控制结构
--5.1顺序结构
--5.2条件结构
--5.3循环结构
--5.4跳转结构
--5.5异常处理
--章测试
-第六章:函数、模块与面向对象
--6.2面向对象
--6.4模块与包
--章测试
-第七章:文件操作
--7.2文件的写入
--章测试
-第八章:python生态库
--章测试
-第九章:TensorFlow基础
--章测试
-第十章:实例分析与实践
--章测试
-第十一章:人工智能在自然语言中的应用
--章测试