详解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文件与文件夹常见基本操作总结
Sep 19 Python
python解决网站的反爬虫策略总结
Oct 26 Python
Python yield 使用方法浅析
May 20 Python
Python实现随机选择元素功能
Sep 14 Python
python实现Adapter模式实例代码
Feb 09 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
Jun 12 Python
Django项目中使用JWT的实现代码
Nov 04 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
解决Python数据可视化中文部分显示方块问题
May 16 Python
python 如何引入协程和原理分析
Nov 30 Python
Python 调用C++封装的进一步探索交流
Mar 04 Python
python区块链持久化和命令行接口实现简版
May 25 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上传文件的增强函数
2010/07/21 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
关于ThinkPHP中的异常处理详解
2018/05/11 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
Bootstrap如何激活导航状态
2017/03/22 Javascript
vue.js声明式渲染和条件与循环基础知识
2017/07/31 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
在Python中给Nan值更改为0的方法
2018/10/30 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
Python实现结构体代码实例
2020/02/10 Python
django中related_name的用法说明
2020/05/20 Python
如何利用python web框架做文件流下载的实现示例
2020/06/02 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
公司活动邀请函
2014/01/24 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
付款承诺函范文
2015/01/21 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
基于Redis延迟队列的实现代码
2021/05/13 Redis
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL
instantclient客户端 连接oracle数据库
2022/04/26 Oracle