Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
Hướng dẫn tiếp theo trong chuỗi bài học về xử lý Date/Time trong Python, Quantrimang.com sẽ cùng bạn tìm hiểu chi tiết về module time cùng các hàm liên quan đến thời gian được xác định trong module này. Cùng theo dõi nhé!
Python có module time dùng để xử lý các tác vụ liên quan đến thời gian. Để sử dụng các hàm được xác định trong module, trước tiên hãy import module này vào, thực hiện như sau:
import time
Hàm time() trả về số giây tính từ epoch, hay còn gọi là giá trị timestamp
Đối với hệ thống Unix, 00:00:00 ngày 1/1/1970 theo giờ UTC được gọi là epoch (thời điểm bắt đầu thời gian).
import time
seconds = time.time()
print("So giay tinh tu epoch:", seconds)
Kết quả sẽ có dạng:
So giay tinh tu epoch: 1562922590.7720907
Phương thức này chuyển đổi một time được biểu diễn bằng số giây tính từ epoch thành một biểu diễn ở dạng chuỗi.
import time
# số giây tính từ epoch
# viet boi Quantrimang.com
seconds = 1562983783.9618232
local_time = time.ctime(seconds)
print("Local time:", local_time)
Chạy chương trình, kết quả trả về ngày giờ tương ứng với số giây truyền vào:
Local time: Sat Jul 13 09:09:43 2019
Nếu không truyền seconds, chương trình trả về giá trị thời gian hiện tại.
Hàm sleep() dừng thực thi luồng hiện tại trong số giây truyền vào.
import time
print ("Start :", time.ctime())
time.sleep(3)
print ("End :", time.ctime())
Phương thức này không trả về bất cứ giá trị nào mà chỉ delay trình thực thi. Thử chạy chương trình để thấy rõ khoảng thời gian delay.
Start : Sat Jul 13 09:33:52 2019
End : Sat Jul 13 09:33:57 2019
Trước khi đi tiếp các hàm liên quan đến thời gian khác, hãy tìm hiểu qua class time.struct_time.
Một số hàm trong module time, chẳng hạn như gmtime(), asctime()... đều có time.struct_time là đối tượng được trả về.
Ví dụ về kết quả 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)
| Chỉ số | Thuộc tính | Mô tả |
| 0 | tm_year |
Năm hiện tại: 0000, ...., 2018, ..., 9999 |
| 1 | tm_mon |
Tháng hiện tại: 1, 2, ..., 12 |
| 2 | tm_mday |
Ngày hiện tại: 1, 2, ..., 31 |
| 3 | tm_hour |
Giờ hiện tại: 0, 1, ..., 23 |
| 4 | tm_min |
Phút hiện tại: 0, 1, ..., 59 |
| 5 | tm_sec |
Giây hiện tại: 0, 1, ..., 61 |
| 6 | tm_wday |
Ngày trong tuần: 0, 1, ..., 6; Monday tính là 0 |
| 7 | tm_yday |
Ngày trong năm: 1, 2, ..., 366 |
| 8 | tm_isdst |
Xác định DST: 0, 1 hoặc -1 |
Hàm localtime() trong module time lấy số giây được truyền vào làm đối số và trả về struct_time theo giờ địa phương.
import time
result = time.localtime(1562983783)
print("Ket qua:", result)
print("\nNam:", result.tm_year)
print("Gio:", result.tm_hour)
Chạy chương trình, kết quả trả về là:
Ket qua: time.struct_time(tm_year=2019, tm_mon=7, tm_mday=13, tm_hour=9,
tm_min=9, tm_sec=43, tm_wday=5, tm_yday=194, tm_isdst=0)
Nam: 2019
Gio: 9
Nếu không cung cấp số giây hoặc truyền giá trị None thì thời gian từ hiện tại trả về từ hàm time() sẽ được sử dụng.
Hàm gmtime() trong module time lấy số giây được truyền vào làm đối số và trả về struct_time theo giờ UTC.
import time
result = time.gmtime(1562983783)
print("Ket qua:", result)
print("\nNam:", result.tm_year)
print("Gio:", result.tm_hour)
Chạy chương trình, kết quả trả về là:
Ket qua: time.struct_time(tm_year=2019, tm_mon=7, tm_mday=13, tm_hour=2,
m_min=9, tm_sec=43, tm_wday=5, tm_yday=194, tm_isdst=0)
Nam: 2019
Gio: 2
Nếu không cung cấp số giây hoặc truyền giá trị None thì thời gian từ hiện tại trả về từ hàm time() sẽ được sử dụng.
Hàm mktime() trong module time lấy struct_time (hoặc một tuple chứa 9 phần tử tương ứng với struct_time) làm đối số và trả về số giây tính từ epoch theo giờ địa phương. Đây là hàm nghịch đảo của localtime().
import time
t = (2019, 7, 13, 9, 9, 43, 5, 194, 0)
local_time = time.mktime(t)
print("Gio dia phuong:", local_time)
Chạy chương trình, kết quả trả về là:
Gio dia phuong: 1562983783.0
Ví dụ dưới đây cho thấy mktime() và localtime() có liên quan như thế nào.
import time
seconds = 1562983783
# trả về struct_time
# viet boi Quantrimang.com
t = time.localtime(seconds)
print("t1: ", t)
# trả về giây từ struct_time
s = time.mktime(t)
print("\ns:", seconds)
Kết quả:
t1: time.struct_time(tm_year=2019, tm_mon=7, tm_mday=13, tm_hour=9,
tm_min=9, tm_sec=43, tm_wday=5, tm_yday=194, tm_isdst=0)
s: 1562983783
Hàm asctime() trong module time lấy struct_time (hoặc một tuple chứa 9 phần tử tương ứng với struct_time) làm đối số và trả về một chuỗi đại diện cho thời gian đó.
import time
t = (2019, 7, 13, 9, 9, 43, 5, 194, 0)
result = time.asctime(t)
print("Ket qua:", result)
Kết quả chương trình trả về:
Ket qua: Sat Jul 13 09:09:43 2019
Hàm strftime() trong module time lấy struct_time (hoặc một tuple tương ứng với struct_time) làm đối số và trả về một chuỗi đại diện cho thời gian đó dựa trên code định dạng được truyền vào.
import time
named_tuple = time.localtime() # lấy struct_time
time_string = time.strftime("%m/%d/%Y, %H:%M:%S", named_tuple)
print(time_string)
Chạy chương trình, kết quả trả về là:
07/15/2019, 08:46:58
Ở ví dụ này, %Y, %m, %d, %H là các code định dạng.
Hàm strptime() trong module time phân tích một chuỗi đại diện cho một thời điểm, thời gian và trả về struct_time.
import time
time_string = "17 July, 2019"
result = time.strptime(time_string, "%d %B, %Y")
print(result)
Kết quả trả về có dạng:
time.struct_time(tm_year=2019, tm_mon=7, tm_mday=17, tm_hour=0,
tm_min=0, tm_sec=0, tm_wday=2, tm_yday=198, tm_isdst=-1)
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
TOP nền tảng xây dựng công cụ nội bộ có tích hợp AI
TOP phần mềm AI bảo mật Internet tốt nhất hiện nay
Biến các ý tưởng thành giải thích trực quan, tương tác trong ChatGPT
TOP tiện ích mở rộng AI cho VS Code tốt nhất
Cách tạo website Portfolio miễn phí bằng ChatGPT
6 lựa chọn thay thế Visual Studio Code tốt nhất có tích hợp AI
Tạo form hỏi đáp tương tác trong vài phút và prompt chỉnh sửa
Hướng dẫn sử dụng Google Slides trong Claude
Hướng dẫn sử dụng Wolfram trong ChatGPT giải toán nâng cao
15 prompt AI thú vị cho ngày lễ Halloween
Hoàn thiện một thiết kế thực tế với ChatGPT + Canva
Cách kết nối ElevenLabs agent với hệ thống lên lịch Calendly
Cách tắt app chạy ngầm Windows 11, giảm ngốn RAM trên Win 11
Câu nói hay nhất về tháng 11, chào tháng 11
TOP công cụ AI tạo tài liệu tốt nhất
Cách xây dựng plugin trong ChatGPT
Hướng dẫn tự thiết kế website Portfolio bằng Claude
5 thiết kế ChatGPT + Canva đáp ứng hầu hết các nhu cầu trong cuộc sống
Những công cụ AI tốt nhất giúp giải toán dễ dàng
Hướng dẫn kết nối Booking.com với ChatGPT lên kế hoạch du lịch
Hướng dẫn cài đặt và sử dụng n8n trên Windows 11
Cách lập trình chuyên nghiệp hơn, dễ dàng hơn với tính năng Tệp trên Grok
Công thức tính diện tích hình Elip
Hướng dẫn ngắt kết nối ứng dụng trên ChatGPT
Hướng dẫn tạo đoạn hội thoại cho topic trên Twee
Bức tranh tổng quan về hỗ trợ khách hàng tích hợp AI
Cách sửa lỗi There Are Currently No Power Options Available Windows
Claude Code thực sự có giá bao nhiêu?
Hướng dẫn 8 cách mở bàn phím ảo trên Windows 10
Hướng dẫn tạo flashcard trên Canva AI