В тази статия ще разгледаме подробно модула за времето. Ще се научим да използваме различни функции, свързани с времето, дефинирани в модула за време с помощта на примери.
Python има модул, наречен time
за обработка на задачи, свързани с времето. За да използваме функции, дефинирани в модула, първо трябва да импортираме модула. Ето как:
import time
Тук са често използвани функции, свързани с времето.
Python time.time ()
На time()
връща функция на броя на секунди изминаха епоха.
За системата Unix January 1, 1970, 00:00:00
в UTC е епоха (точката, в която започва времето).
import time seconds = time.time() print("Seconds since epoch =", seconds)
Python time.ctime ()
Най time.ctime()
функцията за броени секунди изминаха епоха като аргумент и връща низ представляващ местно време.
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Ако стартирате програмата, изходът ще бъде нещо като:
Местно време: четвъртък 27 декември 15:49:29 2018
Python time.sleep ()
Най sleep()
функция спира (забавяне) изпълнението на текущата нишка за дадения брой секунди.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
За да научите повече, посетете: Python sleep ().
Преди да говорим за други функции, свързани с времето, нека разгледаме time.struct_time
накратко класа.
time.struct_time Клас
Няколко функции в time
модула като gmtime()
и asctime()
т.н. или приемат time.struct_time
обект като аргумент, или го връщат.
Ето пример за time.struct_time
обект.
time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 6, tm_min = 35, tm_sec = 17, tm_wday = 3, tm_yday = 361, tm_isdst = 0)
Индекс | Атрибут | Стойности |
---|---|---|
0 | tm_year | 0000, …, 2018, …, 9999 |
1 | tm_mon | 1, 2, …, 12 |
2 | tm_mday | 1, 2, …, 31 |
3 | tm_hour | 0, 1, …, 23 |
4 | tm_min | 0, 1,…, 59 |
5 | tm_sec | 0, 1, …, 61 |
6 | tm_wday | 0, 1, …, 6; Понеделник е 0 |
7 | tm_yday | 1, 2, …, 366 |
8 | tm_isdst | 0, 1 или -1 |
Стойностите (елементите) на time.struct_time
обекта са достъпни, като се използват както индекси, така и атрибути.
Python time.localtime ()
Най- localtime()
функцията се броят секунди изминаха епоха като аргумент и се връща struct_time
в местно време .
import time result = time.localtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Когато стартирате програмата, изходът ще бъде нещо като:
резултат: time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 27, tm_hour = 15, tm_min = 49, tm_sec = 29, tm_wday = 3, tm_yday = 361, tm_isdst = 0) година: 2018 tm_hour: 15
Ако няма аргумент или None
е предаден localtime()
, се използва стойността, върната от time()
.
Python time.gmtime ()
Най- gmtime()
функцията се броят секунди изминаха епоха като аргумент и се връща struct_time
в UTC .
import time result = time.gmtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Когато стартирате програмата, изходът ще бъде:
result = time.struct_time (tm_year = 2018, tm_mon = 12, tm_mday = 28, tm_hour = 8, tm_min = 44, tm_sec = 4, tm_wday = 4, tm_yday = 362, tm_isdst = 0) година = 2018 tm_hour = 8
Ако няма аргумент или None
е предаден gmtime()
, се използва стойността, върната от time()
.
Python time.mktime ()
На mktime()
функцията се struct_time
(или комплект, съдържащ 9 елементи, съответстващи struct_time
) като аргумент и връща секундите изминали епоха в местно време. По принцип това е обратната функция на localtime()
.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
Примерът по-долу показва как mktime()
и localtime()
са свързани.
import time seconds = 1545925769 # returns struct_time t = time.localtime(seconds) print("t1: ", t) # returns seconds from struct_time s = time.mktime(t) print("s:", seconds)
When you run the program, the output will be something like:
t1: time.struct_time(tm_year=2018, tm_mon=12, tm_mday=27, tm_hour=15, tm_min=49, tm_sec=29, tm_wday=3, tm_yday=361, tm_isdst=0) s: 1545925769.0
Python time.asctime()
The asctime()
function takes struct_time
(or a tuple containing 9 elements corresponding to struct_time
) as an argument and returns a string representing it. Here's an example:
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) result = time.asctime(t) print("Result:", result)
When you run the program, the output will be:
Result: Fri Dec 28 08:44:04 2018
Python time.strftime()
The strftime()
function takes struct_time
(or tuple corresponding to it) as an argument and returns a string representing it based on the format code used. For example,
import time named_tuple = time.localtime() # get struct_time time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple) print(time_string)
When you run the program, the output will be something like:
12/28/2018, 09:47:41
Here, %Y
, %m
, %d
, %H
etc. are format codes.
%Y
- year (0001,… , 2018, 2019,… , 9999)%m
- месец (01, 02, …, 11, 12)%d
- ден (01, 02, …, 30, 31)%H
- час (00, 01, …, 22, 23%M
- минути (00, 01, …, 58, 59)%S
- втора (00, 01, …, 58, 61)
За да научите повече, посетете: time.strftime ().
Python time.strptime ()
Най strptime()
функция прави разбор на низ представляващ време и се връща struct_time
.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Когато стартирате програмата, изходът ще бъде:
time.struct_time (tm_year = 2018, tm_mon = 6, tm_mday = 21, tm_hour = 0, tm_min = 0, tm_sec = 0, tm_wday = 3, tm_yday = 172, tm_isdst = -1)