Trong bài này, chúng ta sẽ tìm hiểu chi tiết về mô-đun thời gian. Chúng ta sẽ học cách sử dụng các hàm liên quan đến thời gian khác nhau được xác định trong mô-đun thời gian với sự trợ giúp của các ví dụ.
Python có một mô-đun được đặt tên time
để xử lý các tác vụ liên quan đến thời gian. Để sử dụng các chức năng được xác định trong mô-đun, trước tiên chúng ta cần nhập mô-đun. Đây là cách thực hiện:
import time
Dưới đây là các hàm liên quan đến thời gian thường được sử dụng.
Python time.time ()
Các time()
hàm trả về số giây trôi qua kể từ thời đại.
Đối với hệ thống Unix, January 1, 1970, 00:00:00
tại UTC là kỷ nguyên (điểm mà thời gian bắt đầu).
import time seconds = time.time() print("Seconds since epoch =", seconds)
Python time.ctime ()
Các time.ctime()
chức năng mất vài giây trôi qua kể từ thời đại như một tham số và trả về một chuỗi đại diện theo giờ địa phương.
import time # seconds passed since epoch seconds = 1545925769.9618232 local_time = time.ctime(seconds) print("Local time:", local_time)
Nếu bạn chạy chương trình, kết quả đầu ra sẽ như sau:
Giờ địa phương: Thứ Năm ngày 27 tháng 12 15:49:29 2018
Python time.sleep ()
Các sleep()
chức năng đình chỉ (chậm trễ) thực hiện các đề hiện tại cho số lượng nhất định của giây.
import time print("This is printed immediately.") time.sleep(2.4) print("This is printed after 2.4 seconds.")
Để tìm hiểu thêm, hãy truy cập: Python sleep ().
Trước khi chúng ta nói về các hàm khác liên quan đến thời gian, chúng ta hãy khám phá time.struct_time
lớp một cách ngắn gọn.
time.struct_time Lớp
Một số hàm trong time
mô-đun chẳng hạn như gmtime()
, asctime()
v.v. hoặc lấy time.struct_time
đối tượng làm đối số hoặc trả về nó.
Đây là một ví dụ về time.struct_time
đối tượng.
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)
Mục lục | Thuộc tính | Giá trị |
---|---|---|
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; Thứ Hai là 0 |
7 | tm_yday | 1, 2,…, 366 |
số 8 | tm_isdst | 0, 1 hoặc -1 |
Các giá trị (phần tử) của time.struct_time
đối tượng có thể truy cập được bằng cách sử dụng cả chỉ số và thuộc tính.
Python time.localtime ()
Các localtime()
chức năng lấy số giây trôi qua kể từ thời đại như một tham số và lợi nhuận struct_time
trong thời gian địa phương .
import time result = time.localtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Khi bạn chạy chương trình, kết quả đầu ra sẽ như sau:
result: 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) year: 2018 tm_hour: 15
Nếu không có đối số hoặc None
được chuyển đến localtime()
, giá trị được trả về time()
sẽ được sử dụng.
Python time.gmtime ()
Các gmtime()
chức năng lấy số giây trôi qua kể từ thời đại như một tham số và trả về struct_time
trong UTC .
import time result = time.gmtime(1545925769) print("result:", result) print("year:", result.tm_year) print("tm_hour:", result.tm_hour)
Khi bạn chạy chương trình, đầu ra sẽ là:
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) year = 2018 tm_hour = 8
Nếu không có đối số hoặc None
được chuyển đến gmtime()
, giá trị được trả về time()
sẽ được sử dụng.
Python time.mktime ()
Các mktime()
chức năng mất struct_time
(hoặc một tuple chứa 9 yếu tố tương ứng với struct_time
) như là một đối số và trả về giây trôi qua kể từ kỷ nguyên theo giờ địa phương. Về cơ bản, đó là hàm nghịch đảo của localtime()
.
import time t = (2018, 12, 28, 8, 44, 4, 4, 362, 0) local_time = time.mktime(t) print("Local time:", local_time)
Ví dụ dưới đây cho thấy cách thức mktime()
và localtime()
có liên quan.
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
- tháng (01, 02,…, 11, 12)%d
- ngày (01, 02,…, 30, 31)%H
- giờ (00, 01,…, 22, 23%M
- phút (00, 01,…, 58, 59)%S
- thứ hai (00, 01,…, 58, 61)
Để tìm hiểu thêm, hãy truy cập: time.strftime ().
Python time.strptime ()
Các strptime()
chức năng phân tích một chuỗi đại diện cho thời gian và lợi nhuận struct_time
.
import time time_string = "21 June, 2018" result = time.strptime(time_string, "%d %B, %Y") print(result)
Khi bạn chạy chương trình, đầu ra sẽ là:
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)