time 时间模块

本文介绍了Python的time模块,包括获取本地时间戳、进度条效果的实现、time.sleep()函数的使用,以及localtime、mktime、ctime、strftime和strptime等函数的功能。通过示例展示了如何利用time模块进行时间操作和进度条的创建。

### time时间模块

import time
#time() 获取本地时间戳 *****
res = time.time()
print(res)

import time
#sleep()         程序睡眠等待
'''程序在当前行,阻塞3秒之后,代码往下执行'''
 time.sleep(3)
 print("我睡醒了")

### 进度条效果

(1) 定义进度条的样式

print("[%-50s]" % ("###############"))
print("[%-50s]" % ("######################"))
print("[%-50s]" % ("##############################"))

(2) 让进度条动起来

strvar = ""
for i in range(50):
	strvar += "#"
	time.sleep(0.1)
	print("\r[%-50s]" % (strvar) ,end="")

(3) 根据文件的大小,调整进度条的位置

def progress(percent):
	if percent > 1:
		percent = 1

	# 打印出对应的# 号效果
	strvar = int(50 * percent) * "#"
	# %% => %号的符号效果
	print("\r[%-50s] %d%%" % (strvar , int(100 * percent)) ,end="")

recv_size = 0

假设文件总大小是 1028000

total_size = 1028000
while recv_size < total_size:
	time.sleep(0.01)

	# 一次接受的字节数是1024
	recv_size += 1024
	percent = recv_size/total_size
	progress(percent)

30% 50% 80%

0.3 0.8 0.9 1 100%

要知道文件的大小和总长度,文件的大小可以求得比例
import time
def func(percent):
	if percent>1:
		percent=1
	strvar=int(50*percent)*'#'
	print('\r[%-50s] %d%%'%(strvar,int(100*percent)),end='')

wj_min=0
wj_max=102800
while wj_min<wj_max:
	time.sleep(0.1)
	wj_min += 1024
	percent = wj_min / wj_max
	func(percent)

time 获取本地时间戳(秒)

res=time.time()

sleep() 程序睡眠等待

time.sleep(1)
print("wake up")

localtime -> mktime -> ctime

时间元组是使用元祖格式表示时间的一种方式
(年,月,日,时,分,秒,0, 0,0)

#localtime()    获取本地时间元组    (参数是时间戳,默认当前)*****
ttp = time.localtime() # 默认返回当前时间戳对应的时间元组
print(ttp)
ttp = time.localtime(1489938478) # 默认返回当前时间戳对应的时间元组
print(ttp)

#mktime()        通过时间元组获取时间戳    (参数是指定的时间元组) ***** 
年 月 日 时 分 秒 0 0 0 
ttp = (2020,5,20,9,40,30,0,0,0)
res = time.mktime(ttp)
print(res)

#ctime()     	 获取本地时间字符串 (参数是时间戳,默认当前) *****
res = 1489938478
strvar = time.ctime()  # 默认返回当前时间戳对应的字符串
strvar = time.ctime(res)
print(strvar)

strftime strptime

strftime  元组 -> 字符串 
strptime  字符串 -> 元组

#strftime()      格式化时间字符串(格式化字符串,时间元祖)

格式化时间字符串:
格式    含义   
%Y    年份
%m    月份(01 - 12)
%d    一个月中的第几天(01 - 31)
%H    一天中的第几个小时(24 小时制,00 - 23)
%M    分钟数(00 - 59)
%S    秒(01 - 61) 
%%    %号本身

"""linux系统下 支持中文, windows系统不支持中文"""
strvar = time.strftime("%H:%M:%S %Y-%m-%d") # 默认当前时间
print(strvar)

ttp = (2008,10,1,11,11,11,0,0,0)
res = time.strftime("%Y-%m-%d %H:%M:%S" , ttp) # 指定时间元组
print(res)

#strptime()      将时间字符串通过指定格式提取到时间元组中(时间字符串,格式化字符串) 

strvar = "2020年5月20号11时12分13秒,今天上街要是谁的玫瑰花那个刺扎我了,没个3,5万,我绝对不起来"
ttp = time.strptime(strvar,"%Y年%m月%d号%H时%M分%S秒,今天上街要是	谁的玫瑰花那个刺扎到我了,没个3,5万,我绝对不起来")
print(ttp)

perf_counter() 用于计算程序运行的时间 (了解)

starttime = time.perf_counter()
	starttime = time.time()
	for i in range(100000000):
		pass
	endtime =  time.time()endtime = time.perf_counter()
	print(endtime - starttime)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值