详解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 相关文章推荐
Windows下python2.7.8安装图文教程
May 26 Python
Python实现求两个csv文件交集的方法
Sep 06 Python
python并发编程之线程实例解析
Dec 27 Python
python中如何使用分步式进程计算详解
Mar 22 Python
python做反被爬保护的方法
Jul 01 Python
Python学习笔记之Break和Continue用法分析
Aug 14 Python
Python %r和%s区别代码实例解析
Apr 03 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
记一次Django响应超慢的解决过程
Sep 17 Python
pycharm中选中一个单词替换所有重复单词的实现方法
Nov 17 Python
Python Pycharm虚拟下百度飞浆PaddleX安装报错问题及处理方法(亲测100%有效)
May 24 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 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
mysql建立外键
2006/11/25 PHP
php基础教程 php内置函数实例教程
2012/08/21 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
php实现可运算的验证码
2015/11/10 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
用JavaScript隐藏控件的方法
2009/09/21 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
Javascript实现base64的加密解密方法示例
2017/06/27 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
javascript使用canvas实现饼状图效果
2020/09/08 Javascript
Python实现希尔排序算法的原理与用法实例分析
2017/11/23 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
django解决跨域请求的问题详解
2019/01/20 Python
python实现图片转字符小工具
2019/04/30 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Python接口开发实现步骤详解
2020/04/26 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
基于HTML5 FileSystem API的使用介绍
2013/04/24 HTML / CSS
详解Html5 监听拦截Android返回键方法
2018/04/18 HTML / CSS
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
食品安全承诺书
2014/05/22 职场文书
公司感恩节活动策划书
2014/10/11 职场文书
索赔员岗位职责
2015/02/15 职场文书
实习报告怎么写
2019/06/20 职场文书
Vue+Flask实现图片传输功能
2022/04/01 Vue.js
Android 中的类文件和类加载器详情
2022/06/05 Java/Android