详解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检测手机QQ在线状态的脚本代码
Feb 10 Python
Python时间获取及转换知识汇总
Jan 11 Python
Python基于tkinter模块实现的改名小工具示例
Jul 27 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
关于pytorch多GPU训练实例与性能对比分析
Aug 19 Python
python根据时间获取周数代码实例
Sep 30 Python
python同义词替换的实现(jieba分词)
Jan 21 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
Mar 28 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Python类class参数self原理解析
Nov 19 Python
图神经网络GNN算法
May 11 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中设置时区,记录日志文件的实现代码
2013/01/07 PHP
php伪静态之APACHE篇
2014/06/02 PHP
php实现基于微信公众平台开发SDK(demo)扩展的方法
2014/12/22 PHP
Javascript之文件操作
2007/03/07 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
js实现select二级联动下拉菜单
2020/04/17 Javascript
jQuery Mobile 和 Kendo UI 的比较
2016/05/05 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
Pycharm远程调试openstack的方法
2017/11/21 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
python 把列表转化为字符串的方法
2018/10/23 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
一道SQL存储过程面试题
2016/10/07 面试题
大学生活学习的自我评价
2013/12/03 职场文书
班长自荐书范文
2014/02/11 职场文书
环保专项行动方案
2014/05/12 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
授权委托书公证
2014/09/14 职场文书
四风查摆剖析材料
2014/10/10 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android