详解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中的数据类型
May 05 Python
Python中标准库OS的常用方法总结大全
Jul 19 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
pygame游戏之旅 python和pygame安装教程
Nov 20 Python
Python实现钉钉发送报警消息的方法
Feb 20 Python
python中利用numpy.array()实现俩个数值列表的对应相加方法
Aug 26 Python
pygame实现俄罗斯方块游戏(AI篇1)
Oct 29 Python
pycharm运行scrapy过程图解
Nov 22 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
Python datetime 如何处理时区信息
Sep 02 Python
移除Selenium中window.navigator.webdriver值
Jun 10 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的错误信息
2006/10/09 PHP
PHP 高手之路(三)
2006/10/09 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
js获取数组的最后一个元素
2015/04/14 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
实例讲解JavaScript的Backbone.js框架中的View视图
2016/05/05 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
Javascript的this用法
2017/01/16 Javascript
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
jquery的$().each和$.each的区别
2019/01/18 jQuery
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
2019/09/02 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
2019/09/17 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[05:59]带你看看DPC的台前幕后
2021/03/11 DOTA
Python中的time模块与datetime模块用法总结
2016/06/30 Python
Python学习思维导图(必看篇)
2017/06/26 Python
python记录程序运行时间的三种方法
2017/07/14 Python
pandas数据处理基础之筛选指定行或者指定列的数据
2018/05/03 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
屈臣氏马来西亚官网:Watsons马来西亚
2019/06/15 全球购物
活动倡议书范文
2014/05/13 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python
聊一聊python常用的编程模块
2021/05/14 Python