Header ads

Header ads
» » Module time trong Python

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

Dưới đây là các hàm liên quan đến thời gian thường được sử dụng nhiều nhất.

time.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

time.ctime()

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.

time.sleep()

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.

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

time.localtime()

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.

time.gmtime()

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.

time.mktime()

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()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   

time.asctime()

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

time.strftime()

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.

    Đọc thêm: Hàm strftime() trong module datetime Python

    time.strptime()

    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)

    Đọc thêm: Hàm strptime() trong module datetime Python

    Bài trước: Chuyển đổi giá trị timestamp trong Python

    Bài tiếp: Hàm sleep() trong Python


    Khóa đào tạo Power BI phân tích báo cáo để bán hàng thành công

    Khóa học Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán

    Khóa học hướng dẫn về Moodle chuyên nghiệp và hay
    Xây dựng hệ thống đào tạo trực tuyến chuyên nghiệp tốt nhất hiện nay.


    Khóa học AutoIt dành cho dân IT và Marketing chuyên nghiệp

    Khóa học hướng dẫn sử dụng Powerpoint từ đơn giản đến phức tạp HIỆU QUẢ
    Khóa học Thiết kế, quản lý dữ liệu dự án chuyên nghiệp cho doanh nghiệp bằng Bizagi
     Khoa hoc hay
    Khóa học Phân tích dữ liệu sử dụng Power Query trong Excel
    Khóa học Phân tích dữ liệu sử dụng TableAU - Chìa khóa thành công!
    Nhấn vào đây để bắt đầu khóa học

    Khóa học "Thiết kế bài giảng điện tử", Video, hoạt hình 
    kiếm tiền Youtube bằng phần mềm Camtasia Studio
    Khóa học HƯỚNG DẪN THIẾT KẾ VIDEO CLIP CHO DÂN MARKETING CHUYÊN NGHIỆP
     Xây dựng website​​​​
    HƯỚNG DẪN THIẾT KẾ QUẢNG CÁO VÀ ĐỒ HỌA CHUYÊN NGHIỆP VỚI CANVA
    Hãy tham gia khóa học để trở thành người chuyên nghiệp. Tuyệt HAY!😲👍
     Khoa hoc hay
    MICROSOFT ACCESS



    GOOGLE SPREADSHEETS phê không tưởng
     Khoa hoc hay
    Khóa hoc lập trình bằng Python tại đây

    Hacker mũ trắng




    Hãy tham gia khóa học để biết mọi thứ

    Để tham gia tất cả các bài học, Bạn nhấn vào đây 
    Khóa học sử dụng Adobe Presenter-Tạo bài giảng điện tử
     Khoa hoc hay

    Khóa học sử dụng Edmodo để dạy và học hiện đại để thành công


    Cập nhật công nghệ từ Youtube tại link: http://congnghe.hocviendaotao.com
    Tham gia nhóm Facebook
    Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
    Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com

    About Học viện đào tạo trực tuyến

    Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
    - Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
    - Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
    HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
    «
    Next
    Bài đăng Mới hơn
    »
    Previous
    Bài đăng Cũ hơn