Python-time
time库
time库的功能如下:
(1)计算机时间的表达
(2)提供获取系统时间并格式化输出功能
(3)提供系统级精确计时功能,用于程序性能分析
time函数
时间获取:time()、ctime()、gmtime()、localtime()
时间格式化:strftime()、strptime()、asctime()
程序计时:sleep()、perf_counter()
1、时间获取
1.1、time()
获取当前时间戳(浮点型)(时间戳计算:https://tool.lu/timestamp/)
import time
print(time.time())
#输出
1671334375.0746467
1.2、ctime() :
获取当前本地时间并以易读方式显示(字符串)
print(time.ctime())
#输出
Sun Dec 18 11:43:06 2022
1.3、localtime()、gmtime()
localtime()函数和gmtime()函数都可将时间戳转换为以元组表示的时间对象(struct_time格式),但是localtime()函数得到的是当地时间,gmtime()函数得到的是世界统一时间。
print(time.gmtime())
#输出
time.struct_time(tm_year=2022, tm_mon=12, tm_mday=18, tm_hour=3, tm_min=44, tm_sec=58, tm_wday=6, tm_yday=352, tm_isdst=0)
print(time.localtime())
#输出
time.struct_time(tm_year=2022, tm_mon=12, tm_mday=18, tm_hour=11, tm_min=45, tm_sec=53, tm_wday=6, tm_yday=352, tm_isdst=0)
2、时间格式化
将时间以合理的方式展示出来
格式化:类似字符串格式化,需要有展示模板
展示模板由特定的格式化控制符组成
2.1、strftime(tpl,ts)
strftime(格式,时间 )主要决定时间的输出格式
- tpl 是格式化模板字符串,用来定义输出效果。
- ts 是计算机内部时间类型变量。
时间格式控制符 说明
| 字符 | 说明 |
|---|---|
| %Y | 四位数的年份,取值范围为0001~9999,如1900 |
| %m | 月份(01~12),例如10 |
| %d | 月中的一天(01~31)例如:25 |
| %B | 本地完整的月份名称,比如January |
| %b | 本地简化的月份名称,比如Jan |
| %a | 本地简化的周日期,Mon~Sun,例如Wed |
| %A | 本地完整周日期,”Monday~Sunday,例如Wednesday |
| %H | 24小时制小时数(00~23),例如:12 |
| %l | 12小时制小时数(01~12),例如:7 |
| %p | 上下午,取值为AM或PM |
| %M | 分钟数(00~59),例如26 |
| %S | 秒(00~59),例如26 |
import time
t=time.gmtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",t))
#输出
2022-12-18 07:48:19
2.2、strptime(str,tpl)
- str 是字符串形式的时间值
- tpl 是格式化模板字符串,用来定义输入效果:函数返回值是时间结构体
import time
timeStr = "2022-12-18 19:58:55"
print(time.strptime(timeStr,"%Y-%m-%d %H:%M:%S"))
#输出
time.struct_time(tm_year=2022, tm_mon=12, tm_mday=18, tm_hour=19, tm_min=58, tm_sec=55, tm_wday=6, tm_yday=352, tm_isdst=-1)
2.3、perf_counter()
返回一个CPU级别的精确时间计数值,单位为秒。由于这个计数值起点不确定,联系调用差值才有意义。
#程序计时
import time
import datetime
class Mytime():
def __init__(self):
self.begin = 0
self.end = 0
#start time
def start(self):
self.begin = int(time.time())
print("计时开始!")
#stop time
def stop(self):
self.end = int(time.time())
self.__calc()
def __calc(self):
self.lasted = self.end - self.begin
if self.lasted == self.end:
print("请开始计时!")
else:
print("计时结束!")
print("共运行了:",self.lasted,"秒")
if __name__ == '__main__':
t1 = Mytime()
t1.start()
time.sleep(10)
t1.stop()
2.4、sleep(s)
sleep(s) : s指休眠的时间,单位是秒,可以是浮点数。
结合time.perf_counter()
import time
startTime = time.perf_counter()
time.sleep(3)
endTime = time.perf_counter()
print("%.3f" %(endTime - startTime))
#输出
3.007

浙公网安备 33010602011771号