приобретение времени
время()
Используется для получения текущей метки времени, то есть внутреннего значения времени компьютера, которое представляет собой число с плавающей запятой (количество секунд с 1 января 1970 года по настоящее время).
import time
print(time.time())
результат
1642520186.166802
ctime()
Используется для получения текущего времени и представления его в удобочитаемом виде, возвращая строку
import time
print(time.ctime())
результат
Tue Jan 18 23:36:26 2022
гмвремя()
Используется для получения текущего времени, выраженного в формате времени, обрабатываемом компьютером.
import time
print(time.gmtime())
результат
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=18, tm_hour=15, tm_min=36, tm_sec=26, tm_wday=1, tm_yday=18, tm_isdst=0)
форматирование времени
форматер
строка формата | Дата/время Описание |
---|---|
%Y | годы |
%м | месяц |
%В | название месяца |
%b | сокращенное название месяца |
%d | дата |
%А | Неделя |
%а | аббревиатура недели |
%ЧАС | Час (24-часовая система) |
%l | Час (12-часовая система) |
%п | до полудня после полудня |
%М | минута |
%S | Второй |
strftime(tpl,ts)
tpl — это строка шаблона формата, используемая для определения выходного эффекта.
ts — тип переменной времени внутри компьютера.
import time
t=time.gmtime()
# %A 星期
# %p 上下午
#strftime()将时间按照特定格式输出
print(time.strftime("%Y-%m-%d %A %H:%M:%S %p",t))
результат
2022-01-18 Tuesday 15:44:26 PM
strptime(ул,tpl)
str — значение времени в виде строки.
tpl — отформатированная строка шаблона, используемая для определения выходного эффекта.
import time
t=time.gmtime()
#striptime()将一个时间字符串转化为计算机时间struct_time()形式
timeStr='2022-01-17 23:24:30'
print(time.strptime(timeStr,"%Y-%m-%d %H:%M:%S"))
результат
time.struct_time(tm_year=2022, tm_mon=1, tm_mday=17, tm_hour=23, tm_min=24, tm_sec=30, tm_wday=0, tm_yday=17, tm_isdst=-1)
время программы
Время программы относится к процессу измерения прошедшего времени запуска и остановки действий.
perf_counter()
Возвращает точное значение счетчика времени на уровне процессора в секундах.
Поскольку начальная точка этого значения счетчика неопределенна, имеет смысл непрерывно вызывать разницу.
import time
start_time = time.perf_counter()
print(start_time)
end_time = time.perf_counter()
print(end_time)
print(end_time-start_time)
результат
0.7581596
0.7581973
3.7699999999918354e-05
сон(ы)
s Время ожидания в секундах может быть числом с плавающей запятой.
import time
time.sleep(3)
print("程序休眠了3秒")
Программа выведет через 3 секунды
程序休眠了3秒
Пример: Индикатор выполнения текста
Первый опыт текстового прогрессбара
import time
scale=20
print("{:-^20}".format("执行开始"))
for i in range(scale+1):
a='='*i
b='-'*(scale-i)
c=i/scale*100
print("{:3.0f}%[{}>{}]".format(c,a,b))
time.sleep(0.2)
print("{:-^20}".format("执行结束"))
результат
--------执行开始--------
0%[>--------------------]
5%[=>-------------------]
10%[==>------------------]
15%[===>-----------------]
20%[====>----------------]
25%[=====>---------------]
30%[======>--------------]
35%[=======>-------------]
40%[========>------------]
45%[=========>-----------]
50%[==========>----------]
55%[===========>---------]
60%[============>--------]
65%[=============>-------]
70%[==============>------]
75%[===============>-----]
80%[================>----]
85%[=================>---]
90%[==================>--]
95%[===================>-]
100%[====================>]
--------执行结束--------
Индикатор выполнения текста, динамическое обновление одной строки
import time
print("{:-^20}".format("执行开始"))
scale=20
for i in range(scale+1):
a='='*i
b='-'*(scale-i)
c=i/scale*100
#\r使光标回到行首,end=""使输出不换行
print("\r{:3.0f}%[{}>{}]".format(c,a,b),end="")
time.sleep(0.2)
print("\n"+"{:-^20}".format("执行结束"))
результат
Полный эффект текстового индикатора выполнения
import time
scale=50
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}s".format(c,a,b,dur),end="")
time.sleep(0.2)
print("\n"+"执行结束".center(scale//2,"-"))
результат
Вышеупомянутое содержание организовано с помощью учебного программного обеспечения преподавателя МООК Сунтяна, которое используется для личного ознакомления.