详解Python time库的使用


Posted in Python onOctober 10, 2019

一、时间获取函数

>>> import time
>>> time.time()
1570530861.740123
>>> time.ctime()
'Tue Oct 8 18:34:27 2019'
>>> time.gmtime()
time.struct_time(tm_year=2019, tm_mon=10, tm_mday=8, tm_hour=10, tm_min=34, tm_sec=52, tm_wday=1, tm_yday=281, tm_isdst=0)

二、时间格式化

time.strftime(format[, t])
format ? 格式字符串。
t ? 可选的参数t是一个struct_time对象。
python中时间日期格式化符号:
%Y 年份
%m 月份
%B 月份名称 January
%b 月份名称缩写 Jan
%d 日期
%A 星期 Monday
%a 星期缩写 Mon
%H 小时 24
%h 小时 12
%p 上下午
%M 分钟
%S 秒
>>> t=time.gmtime()
>>> time.strftime("%Y-%m-%d %H:%M:%S", t)
'2019-10-08 10:38:06'
>>> time.strftime("%Y-%B-%d-%A-%H-%p-%S")
'2019-October-08-Tuesday-18-PM-50'
>>> time.strftime("%A-%p")
'Tuesday-PM'
>>> time.strftime("%M:%S")
'39:59'

三、时间进度条

测量时间:perf_counter() 返回系统运行时间。由于返回值的基准点是未定义的,所以,只有连续调用的结果之间的差才是有效的。

>>> start = time.perf_counter()
>>> start
684.980333384
>>> end = time.perf_counter()
>>> end
696.094559111
>>> end-start
11.114225726999962

产生时间:sleep(secs) 推迟调用线程的运行

secs:休眠时间;可以是浮点数,如time.sleep(2.7)

#TextProBarV3.py
import time
scale = 40
print('执行开始'.center(scale//2,'-'))
start = time.perf_counter()
for i in range(scale+1):
  a = '*' * i
  b = '.' * (scale - i)
  c = (i / scale) * 100
  dur = time.perf_counter() - start
  print("\r{:^3.0f}%[{}->{}]{:.2f}".format(c,a,b,dur),end='')
  time.sleep(0.1)
print('\n'+'执行结果'.center(scale//2,'-'))

四、七段数码管

七段数码管(seven-segment indicator)由7 段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置。

详解Python time库的使用

七段数码管能形成27=128 种不同状态,其中部分状态能够显示易于人们理解的数字或字母含义,因此被广泛使用。

详解Python time库的使用

#DrawSevenSegDisplay.py
import turtle, datetime
def drawGap(): #绘制数码管间隔
  turtle.penup()
  turtle.fd(5)
def drawLine(draw):  #绘制单段数码管
  drawGap()
  turtle.pendown() if draw else turtle.penup()
  turtle.fd(40)
  drawGap()
  turtle.right(90)
def drawDigit(d): #根据数字绘制七段数码管
  drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
  drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
  drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
  drawLine(True) if d in [0,2,6,8] else drawLine(False)
  turtle.left(90)
  drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
  drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
  drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
  turtle.left(180)
  turtle.penup()
  turtle.fd(20)
def drawDate(date):
  turtle.pencolor("red")
  for i in date:
    if i == '-':
      turtle.write('年',font=("Arial", 18, "normal"))
      turtle.pencolor("green")
      turtle.fd(40)
    elif i == '=':
      turtle.write('月',font=("Arial", 18, "normal"))
      turtle.pencolor("blue")
      turtle.fd(40)
    elif i == '+':
      turtle.write('日',font=("Arial", 18, "normal"))
    else:
      drawDigit(eval(i))
def main():
  turtle.setup(800, 350, 200, 200)
  turtle.penup()
  turtle.fd(-350)
  turtle.pensize(5)
  drawDate(datetime.datetime.now().strftime('%Y-%m=%d+'))
  turtle.hideturtle()
main()

总结

以上所述是小编给大家介绍的Python time库的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python日志模块logging简介
Apr 13 Python
python实现web方式logview的方法
Aug 10 Python
Python的shutil模块中文件的复制操作函数详解
Jul 05 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
python之pandas用法大全
Mar 13 Python
详解Python二维数组与三维数组切片的方法
Jul 18 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
使用python实现画AR模型时序图
Nov 20 Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
Jan 27 Python
Python语言规范之Pylint的详细用法
Jun 24 Python
python自动化测试无法启动谷歌浏览器问题
Oct 10 #Python
python批量将excel内容进行翻译写入功能
Oct 10 #Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 #Python
安装python及pycharm的教程图解
Oct 10 #Python
Pytorch中的variable, tensor与numpy相互转化的方法
Oct 10 #Python
3行Python代码实现图像照片抠图和换底色的方法
Oct 10 #Python
python通过SSH登陆linux并操作的实现
Oct 10 #Python
You might like
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
重载toString实现JS HashMap分析
2011/03/13 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
js实现从数组里随机获取元素
2015/01/12 Javascript
充分发挥Node.js程序性能的一些方法介绍
2015/06/23 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
js实现旋转木马效果
2017/03/17 Javascript
Axios学习笔记之使用方法教程
2017/07/21 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
vue2.0+koa2+mongodb实现注册登录
2018/04/10 Javascript
vue实现公告栏文字上下滚动效果的示例代码
2020/06/16 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
Python的Socket编程过程中实现UDP端口复用的实例分享
2016/03/19 Python
centos6.4下python3.6.1安装教程
2017/07/21 Python
TensorFlow安装及jupyter notebook配置方法
2017/09/08 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Xadmin+rules实现多选行权限方式(级联效果)
2020/04/07 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
Django视图类型总结
2021/02/17 Python
python定义具名元组实例操作
2021/02/28 Python
开会迟到检讨书
2014/01/08 职场文书
高考标语大全
2014/06/05 职场文书
交通事故代理词范文
2015/05/23 职场文书
运动会班级前导词
2015/07/20 职场文书