详解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制作websocket服务器实例分享
Nov 20 Python
批量将ppt转换为pdf的Python代码 只要27行!
Feb 26 Python
致Python初学者 Anaconda入门使用指南完整版
Apr 05 Python
Python实现去除列表中重复元素的方法总结【7种方法】
Feb 16 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
Django 迁移、操作数据库的方法
Aug 02 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
Django values()和value_list()的使用
Mar 31 Python
Python 改变数组类型为uint8的实现
Apr 09 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
如何用PyPy让你的Python代码运行得更快
Dec 02 Python
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
Jun 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写入WRITE编码为UTF8的文件的实现代码
2008/07/07 PHP
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
php简单压缩css样式示例
2016/09/22 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
2018/05/23 PHP
用js小类库获取浏览器的高度和宽度信息
2012/01/15 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
2014/12/08 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
JS去除空格和换行的正则表达式(推荐)
2016/06/14 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
vue.js删除动态绑定的radio的指定项
2017/06/02 Javascript
Cropper.js 实现裁剪图片并上传(PC端)
2017/08/20 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
vue 关闭浏览器窗口的时候,清空localStorage的数据示例
2019/11/06 Javascript
如何实现echarts markline标签名显示自己想要的
2020/07/20 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
Python线程的两种编程方式
2015/04/14 Python
python GUI库图形界面开发之PyQt5信号与槽事件处理机制详细介绍与实例解析
2020/03/08 Python
python3中sys.argv的实例用法
2020/04/24 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
电气自动化大学生求职信
2013/10/16 职场文书
创业融资计划书
2014/04/25 职场文书
班级标语大全
2014/06/21 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
个人租房协议书范本
2014/09/30 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
2016大学军训通讯稿
2015/11/25 职场文书