详解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函数的笔记整理
Apr 07 Python
在Python的Django框架的视图中使用Session的方法
Jul 23 Python
Python中的time模块与datetime模块用法总结
Jun 30 Python
Django自定义认证方式用法示例
Jun 23 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 Python
使用python实现简单五子棋游戏
Jun 18 Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 Python
远程部署工具Fabric详解(支持Python3)
Jul 04 Python
pygame实现非图片按钮效果
Oct 29 Python
Python3使用Selenium获取session和token方法详解
Feb 16 Python
如何正确理解python装饰器
Jun 15 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
资料注册后发信小技巧
2006/10/09 PHP
实用函数9
2007/11/08 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
Asp.Net alert弹出提示信息的几种方法总结
2014/01/29 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
使用npm发布Node.JS程序包教程
2015/03/02 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
JS Canvas定时器模拟动态加载动画
2016/09/17 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
JavaScript hasOwnProperty() 函数实例详解
2017/08/04 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
vue中手机号,邮箱正则验证以及60s发送验证码的实例
2018/03/16 Javascript
Vuex新手的理解与使用详解
2019/05/31 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
[05:13]TI4 中国战队 机场出征!!
2014/07/07 DOTA
Python简单连接MongoDB数据库的方法
2016/03/15 Python
Python代码打开本地.mp4格式文件的方法
2019/01/03 Python
python sklearn常用分类算法模型的调用
2019/10/16 Python
澳大利亚波西米亚风情网上商店:Czarina
2019/03/18 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
运动会获奖感言
2014/02/11 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
增员口号大全
2014/06/18 职场文书
人力资源管理毕业求职信
2014/08/05 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby