Python时间time库

time库

时间获取函数:

time() # 获取从1970.7.1 0:0到目前的秒数
ctime() # 获取一个时间的字符串
gmtime() #获取一个时间数据

例如

>>> time.time()
1523105888.8286796
>>> time.ctime()
'Sat Apr  7 20:58:12 2018'
>>> time.gmtime
<built-in function gmtime>
>>> time.gmtime()
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=7, tm_hour=12, tm_min=58, tm_sec=22, tm_wday=5, tm_yday=97, tm_isdst=0)

时间格式化

strftime(tpl, ts) # 第一个参数模板, 第二个参数gmtime()
strptime() # 作用和strftime()相反, 结果得到一个gmtime()类型的值

>>> time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())
'2018-04-07 13:06:49'

参数:

%Y 4位数的年0001-9999
%y 2位数的年
%m 月份00-12
%H 24制小时
%h 12制小时
%M 分钟
%S%B 全拼的月份
%b 缩写的月份
%A 星期
%a 缩写的星期
%p 上午/下午

实例

>>> strftime('%Y-%m-%d %H:%M:%S', t)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'strftime' is not defined
>>> time.strftime('%Y-%m-%d %H:%M:%S', t)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 't' is not defined
>>> time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())
'2018-04-07 13:06:49'
>>> time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())
'2018-04-07 13:07:09'
>>> strtime = '2018-04-07 13:07:09'
>>> strptime(strtime, ''%Y-%m-%d %H:%M:%S')
  File "<stdin>", line 1
    strptime(strtime, ''%Y-%m-%d %H:%M:%S')
                           ^
SyntaxError: invalid syntax
>>> time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())
'2018-04-07 13:08:42'
>>> time.strftime('%y-%m-%d %H:%M:%S', time.gmtime())
'18-04-07 13:08:47'
>>> time.strftime('%y-%M-%d %H:%M:%S', time.gmtime())
'18-08-07 13:08:55'
>>> time.strftime('%y-%M-%D %H:%M:%S', time.gmtime())
'18-09-04/07/18 13:09:06'
>>> time.strftime('%y-%m-%d %H:%M:%S', time.gmtime())
'18-04-07 13:09:16'
>>> time.strftime('%d', time.gmtime())
'07'
>>> time.strftime('%D', time.gmtime())
'04/07/18'
>>> time.strftime('%m', time.gmtime())
'04'
>>> time.strftime('%M', time.gmtime())
'10'
>>> time.strftime('%M', time.gmtime())
'10'
>>> time.strftime('%B', time.gmtime())
'April'
>>> time.strftime('%h, time.gmtime())
  File "<stdin>", line 1
    time.strftime('%h, time.gmtime())
                                    ^
SyntaxError: EOL while scanning string literal
>>> time.strftime('%m, time.gmtime())
  File "<stdin>", line 1
    time.strftime('%m, time.gmtime())
                                    ^
SyntaxError: EOL while scanning string literal
>>> time.strftime('%p %h:%M:%S', time.gmtime())
'PM Apr:13:15'
>>> time.strftime('%p %H:%M:%S', time.gmtime())
'PM 13:13:49'
>>> time.strftime('%p %h:%M:%S', time.gmtime())
'PM Apr:13:57'
>>>

程序计时

sleep() # 休眠, 以s为单位
perf_counter() # 当前时间, 以秒为单位, 获取差值

制作一个简单的文本进度条

#-*- coding:-utf -*-
import time
scale = 50
print('执行开始'.center(scale, '-'))
start = time.perf_counter();
for i in range(101):
    a = '*'*(i//2)
    b = '.'*(50-i//2)
    cur = time.perf_counter() - start
    print('\r{:>3.0f}%[{}->{}]{:.2f}'.format(i, a, b, cur), end = '')
    time.sleep(0.05)
print()
print('执行结束'.center(scale, '-'))

使用\r刷新当前行

制作简易时钟

import time
while 1:
    print(time.strftime('\r%Y-%m-%d  %H:%M:%S', time.gmtime()), end = '')
    time.sleep(1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值