详解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中方法链的使用方法
Feb 23 Python
Python中操作mysql的pymysql模块详解
Sep 13 Python
Python操作Excel之xlsx文件
Mar 24 Python
Python线程下使用锁的技巧分享
Sep 13 Python
python重试装饰器的简单实现方法
Jan 31 Python
numpy.random.shuffle打乱顺序函数的实现
Sep 10 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
Nov 01 Python
Python中remove漏删和索引越界问题的解决
Mar 18 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
May 20 Python
520使用Python实现“我爱你”表白
May 20 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
教你如何用Python实现人脸识别(含源代码)
Jun 23 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把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
[44:15]DOTA2上海特级锦标赛主赛事日 - 5 败者组决赛Liquid VS EG第二局
2016/03/06 DOTA
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python创建线程示例
2014/05/06 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
浅析python参数的知识点
2018/12/10 Python
python单例设计模式实现解析
2020/01/07 Python
pytorch实现从本地加载 .pth 格式模型
2020/02/14 Python
使用pth文件添加Python环境变量方式
2020/05/26 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
法国在线宠物店:zooplus.fr
2018/02/23 全球购物
银行演讲稿范文
2014/01/03 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
2015高中教师个人工作总结
2015/07/21 职场文书
java设计模式--建造者模式详解
2021/07/21 Java/Android
python中validators库的使用方法详解
2022/09/23 Python