Trong Python, time module cung cấp các hàm để thao tác với thời gian. Module này cho phép các thao tác như đo thời gian thực hiện một đoạn code, sleep trong một khoảng thời gian cụ thể, xử lý thời gian ở các định dạng khác nhau, …
Các hàm chính trong module time:
time()
: trả về thời gian hiện tại tính bằng số giây kể từ 1/1/1970.ctime()
: trả về thời gian hiện tại ở dạng string dễ đọc.sleep(s)
: dừng thực thi chương trình trongs
giây.gmtime([seconds])
: trả về thời gian ở dạng struct_time, tham số đầu vào là số giây kể từ 1/1/1970 hoặc không có tham số (trả về thời gian hiện tại).strftime(format[, t])
: chuyển đổi thời gian từ struct_time sang chuỗi ở định dạng đã cho.
Để sử dụng các hàm và phương thức trong time module, ta cần import module này vào chương trình Python của mình bằng câu lệnh sau:
import time
Sau khi import, ta có thể sử dụng các hàm và phương thức có sẵn trong time module.
Ví dụ 1:
start_time = time.time()
# some code here
end_time = time.time()
elapsed_time = end_time - start_time
print("Elapsed time: ", elapsed_time)
Trong đó, time.time()
được sử dụng để lấy thời gian hiện tại tính bằng giây kể từ epoch (thời điểm 00:00:00 UTC ngày 1/1/1970), và elapsed_time
là thời gian đã trôi qua giữa start_time
và end_time
.
Ví dụ 2:
Sử dụng module time để đo thời gian thực hiện một đoạn code
import time
start_time = time.time()
# Đoạn code cần đo thời gian thực hiện
sum = 0
for i in range(1000000):
sum += i
end_time = time.time()
print("Tổng của các số từ 0 đến 999999 là:", sum)
print("Thời gian thực hiện:", end_time - start_time, "giây")
Trong đoạn code trên, ta sử dụng time.time()
để lấy thời gian hiện tại. Ta sử dụng biến start_time
để lưu thời điểm bắt đầu thực hiện đoạn code, và biến end_time
để lưu thời điểm kết thúc thực hiện đoạn code. Sau khi thực hiện xong đoạn code, ta sử dụng end_time - start_time
để tính thời gian thực hiện của đoạn code và in ra màn hình.
Ví dụ 3:
Ví dụ về sử dụng time module trong quản trị hệ thống Linux là đo thời gian thực thi của một chương trình Python. Khi quản trị viên thực hiện một chương trình, việc đo thời gian thực thi có thể giúp họ tối ưu hóa chương trình và tăng hiệu suất hoạt động của hệ thống.
Ví dụ dưới đây sử dụng time module để đo thời gian thực thi của một chương trình đơn giản in ra tất cả các số nguyên tố trong khoảng từ 1 đến 10.000:
import time
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
start_time = time.time()
primes = [num for num in range(1, 10001) if is_prime(num)]
end_time = time.time()
print(primes)
print(f"Execution time: {end_time - start_time:.5f} seconds")
Trong ví dụ này, chúng ta sử dụng time.time() để lấy thời gian hiện tại và lưu nó vào biến start_time trước khi thực thi chương trình. Sau đó, chúng ta thực hiện tính toán các số nguyên tố trong khoảng từ 1 đến 10.000 và lưu kết quả vào biến primes. Cuối cùng, chúng ta sử dụng time.time() để lấy thời gian hiện tại và lưu nó vào biến end_time và in ra thời gian thực thi bằng cách tính khoảng cách giữa end_time và start_time.