详解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中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
Python脚本暴力破解栅栏密码
Oct 19 Python
Python创建二维数组实例(关于list的一个小坑)
Nov 07 Python
python用post访问restful服务接口的方法
Dec 07 Python
Python常见数据结构之栈与队列用法示例
Jan 14 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
python增加图像对比度的方法
Jul 12 Python
python词云库wordcloud的使用方法与实例详解
Feb 17 Python
Python代码一键转Jar包及Java调用Python新姿势
Mar 10 Python
Python 图片处理库exifread详解
Feb 25 Python
django如何自定义manage.py管理命令
Apr 27 Python
高考要来啦!用Python爬取历年高考数据并分析
Jun 03 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
php cookies中删除的一般赋值方法
2011/05/07 PHP
ThinkPHP关联模型操作实例分析
2012/09/23 PHP
dedecms中使用php语句指南
2014/11/13 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
innerText和textContent对比及使用介绍
2013/02/27 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
浅析使用BootStrap TreeView插件实现灵活配置快递模板
2016/11/28 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
easyUI 实现的后台分页与前台显示功能示例
2020/06/01 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
如何在现代JavaScript中编写异步任务
2021/01/31 Javascript
Python多线程扫描端口代码示例
2018/02/09 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
大三自我鉴定范文
2013/10/05 职场文书
大学生职业生涯规划书模板
2014/01/18 职场文书
聘用意向书范本
2014/04/01 职场文书
理财学专业自荐书
2014/06/28 职场文书
政风行风自查自纠报告
2014/10/21 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
刑事辩护词范文
2015/05/21 职场文书
2016教师节问候语
2015/11/10 职场文书
班级元旦晚会开幕词
2016/03/04 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS