Làm thế nào để bạn thêm thời gian vào một giá trị trong python?
Mô-đun này cung cấp các chức năng liên quan đến thời gian khác nhau. Đối với chức năng liên quan, xem thêm mô-đun và Mặc dù mô-đun này luôn có sẵn, nhưng không phải tất cả các chức năng đều có sẵn trên tất cả các nền tảng. Hầu hết các chức năng được xác định trong mô-đun này gọi các chức năng thư viện nền tảng C có cùng tên. Đôi khi có thể hữu ích khi tham khảo tài liệu nền tảng, vì ngữ nghĩa của các chức năng này khác nhau giữa các nền tảng Một lời giải thích về một số thuật ngữ và quy ước là theo thứ tự
Chức năngthời gian. thời gian tăng dần([t])Chuyển đổi một bộ hoặc biểu thị thời gian dưới dạng được trả về bởi hoặc thành một chuỗi có dạng sau. >>> os.environ['TZ'] = 'US/Eastern' >>> time.tzset() >>> time.tzname ('EST', 'EDT') >>> os.environ['TZ'] = 'Egypt' >>> time.tzset() >>> time.tzname ('EET', 'EEST')5. Trường ngày dài hai ký tự và được đệm khoảng trắng nếu ngày là một chữ số, e. g. >>> os.environ['TZ'] = 'US/Eastern' >>> time.tzset() >>> time.tzname ('EST', 'EDT') >>> os.environ['TZ'] = 'Egypt' >>> time.tzset() >>> time.tzname ('EET', 'EEST')6 Nếu t không được cung cấp, thời gian hiện tại được trả về bởi được sử dụng. Thông tin địa phương không được sử dụng bởi Ghi chú Không giống như hàm C cùng tên, không thêm dòng mới ở cuối thời gian. pthread_getcpuclockid(thread_id)Trả về clk_id của đồng hồ thời gian CPU dành riêng cho luồng cho thread_id đã chỉ định Sử dụng hoặc thuộc tính của đối tượng để nhận giá trị phù hợp cho thread_id Cảnh báo Việc chuyển một thread_id không hợp lệ hoặc đã hết hạn có thể dẫn đến hành vi không xác định, chẳng hạn như lỗi phân đoạn Unix Xem trang hướng dẫn cho pthread_getcpuclockid(3) để biết thêm thông tin Mới trong phiên bản 3. 7 thời gian. clock_getres(clk_id)Trả về độ phân giải (độ chính xác) của clk_id đồng hồ đã chỉ định. Tham khảo để biết danh sách các giá trị được chấp nhận cho clk_id Unix Mới trong phiên bản 3. 3 thời gian. clock_gettime(clk_id) →Trả về thời gian của đồng hồ đã chỉ định clk_id. Tham khảo để biết danh sách các giá trị được chấp nhận cho clk_id Sử dụng để tránh mất độ chính xác do loại Unix Mới trong phiên bản 3. 3 thời gian. clock_gettime_ns(clk_id) →Tương tự nhưng trả về thời gian dưới dạng nano giây Unix Mới trong phiên bản 3. 7 thời gian. clock_settime(clk_id , thời gian . : )Đặt thời gian của đồng hồ được chỉ định clk_id. Hiện tại, là giá trị duy nhất được chấp nhận cho clk_id Sử dụng để tránh mất độ chính xác do loại Unix Mới trong phiên bản 3. 3 thời gian. clock_settime_ns(clk_id , thời gian . : )Tương tự nhưng đặt thời gian bằng nano giây Unix Mới trong phiên bản 3. 7 thời gian. thời gian([giây])Chuyển đổi thời gian được biểu thị bằng giây kể từ chuỗi thành chuỗi có dạng. >>> os.environ['TZ'] = 'US/Eastern' >>> time.tzset() >>> time.tzname ('EST', 'EDT') >>> os.environ['TZ'] = 'Egypt' >>> time.tzset() >>> time.tzname ('EET', 'EEST')5 đại diện cho giờ địa phương. Trường ngày dài hai ký tự và được đệm khoảng trắng nếu ngày là một chữ số, e. g. >>> os.environ['TZ'] = 'US/Eastern' >>> time.tzset() >>> time.tzname ('EST', 'EDT') >>> os.environ['TZ'] = 'Egypt' >>> time.tzset() >>> time.tzname ('EET', 'EEST')6 Nếu giây không được cung cấp hoặc , thì thời gian hiện tại được trả về bởi được sử dụng. Nhận thông tin trên đồng hồ được chỉ định dưới dạng đối tượng không gian tên. Tên đồng hồ được hỗ trợ và các chức năng tương ứng để đọc giá trị của chúng là
Kết quả có các thuộc tính sau
Mới trong phiên bản 3. 3 thời gian. gmtime([giây])Chuyển đổi thời gian được biểu thị bằng giây kể từ thời gian thành UTC trong đó cờ dst luôn bằng 0. Nếu giây không được cung cấp hoặc , thì thời gian hiện tại được trả về bởi được sử dụng. Các phần của giây bị bỏ qua. Xem ở trên để biết mô tả về đối tượng. Xem nghịch đảo của chức năng này Thích nhưng chuyển đổi sang giờ địa phương. Nếu giây không được cung cấp hoặc , thì thời gian hiện tại được trả về bởi được sử dụng. Cờ dst được đặt thành có thể tăng , nếu dấu thời gian nằm ngoài phạm vi giá trị được hỗ trợ bởi các hàm C >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)8 hoặc >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)7 của nền tảng và trên >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)8 hoặc >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)7 thất bại. Điều này thường bị giới hạn trong các năm từ 1970 đến 2038thời gian. mktime(t) Đây là hàm ngược của. Đối số của nó là hoặc 9-tuple đầy đủ (vì cờ dst là cần thiết; sử dụng >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)00 làm cờ dst nếu nó không xác định) thể hiện thời gian theo giờ địa phương, không phải UTC. Nó trả về một số dấu phẩy động, để tương thích với. Nếu giá trị đầu vào không thể được biểu thị dưới dạng thời gian hợp lệ, hoặc sẽ được tăng lên (điều này phụ thuộc vào việc giá trị không hợp lệ có bị Python hoặc các thư viện C bên dưới bắt được hay không). Ngày sớm nhất mà nó có thể tạo thời gian phụ thuộc vào nền tảngthời gian. đơn điệu() → Trả về giá trị (tính bằng giây) của đồng hồ đơn điệu, i. e. một chiếc đồng hồ không thể quay ngược. Đồng hồ không bị ảnh hưởng bởi cập nhật đồng hồ hệ thống. Điểm tham chiếu của giá trị được trả về không được xác định, do đó chỉ có sự khác biệt giữa kết quả của hai lệnh gọi là hợp lệ Sử dụng để tránh mất độ chính xác do loại Mới trong phiên bản 3. 3 Đã thay đổi trong phiên bản 3. 5. Chức năng này hiện luôn khả dụng và luôn có trên toàn hệ thống. Đã thay đổi trong phiên bản 3. 10. Trên macOS, chức năng này hiện có trên toàn hệ thống. thời gian. mononotonic_ns() →Tương tự như , nhưng trả về thời gian dưới dạng nano giây Mới trong phiên bản 3. 7 thời gian. perf_counter() →Trả về giá trị (tính bằng giây) của bộ đếm hiệu suất, i. e. đồng hồ có độ phân giải cao nhất hiện có để đo khoảng thời gian ngắn. Nó bao gồm thời gian trôi qua trong khi ngủ và toàn hệ thống. Điểm tham chiếu của giá trị được trả về không được xác định, do đó chỉ có sự khác biệt giữa kết quả của hai lệnh gọi là hợp lệ Sử dụng để tránh mất độ chính xác do loại Mới trong phiên bản 3. 3 Đã thay đổi trong phiên bản 3. 10. Trên Windows, chức năng này hiện có trên toàn hệ thống. thời gian. perf_counter_ns() →Tương tự như , nhưng trả về thời gian dưới dạng nano giây Mới trong phiên bản 3. 7 thời gian. thời gian xử lý() →Trả về giá trị (tính bằng giây) của tổng thời gian CPU của hệ thống và người dùng của quy trình hiện tại. Nó không bao gồm thời gian trôi qua trong khi ngủ. Đó là toàn bộ quy trình theo định nghĩa. Điểm tham chiếu của giá trị được trả về không được xác định, do đó chỉ có sự khác biệt giữa kết quả của hai lệnh gọi là hợp lệ Sử dụng để tránh mất độ chính xác do loại Mới trong phiên bản 3. 3 thời gian. process_time_ns() →Tương tự nhưng trả về thời gian dưới dạng nano giây Mới trong phiên bản 3. 7 thời gian. ngủ(giây)Tạm dừng thực thi chuỗi cuộc gọi trong số giây nhất định. Đối số có thể là một số dấu phẩy động để biểu thị thời gian ngủ chính xác hơn Nếu chế độ ngủ bị gián đoạn bởi một tín hiệu và không có ngoại lệ nào được đưa ra bởi bộ xử lý tín hiệu, thì chế độ ngủ sẽ được bắt đầu lại với thời gian chờ được tính toán lại Thời gian tạm dừng có thể dài hơn yêu cầu bởi một số lượng tùy ý, do lập lịch trình cho các hoạt động khác trong hệ thống Trên Windows, nếu giây bằng 0, luồng sẽ từ bỏ phần thời gian còn lại của nó cho bất kỳ luồng nào khác sẵn sàng chạy. Nếu không có luồng nào khác sẵn sàng chạy, hàm sẽ trả về ngay lập tức và luồng tiếp tục thực hiện. Trên Windows 8. 1 và mới hơn, việc triển khai sử dụng bộ hẹn giờ có độ phân giải cao cung cấp độ phân giải 100 nano giây. Nếu giây bằng 0, thì sử dụng >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)13 triển khai Unix
Đã thay đổi trong phiên bản 3. 11. Trên Unix, các hàm >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)14 và >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)15 hiện được sử dụng nếu có. Trên Windows, bộ hẹn giờ có thể chờ hiện được sử dụng. Đã thay đổi trong phiên bản 3. 5. Chức năng hiện ở chế độ ngủ ít nhất giây ngay cả khi chế độ ngủ bị gián đoạn bởi một tín hiệu, trừ khi bộ xử lý tín hiệu đưa ra một ngoại lệ (xem PEP 475 để biết lý do). thời gian. thời gian strf(định dạng[ , t])Chuyển đổi một bộ hoặc biểu thị thời gian khi được trả về bởi hoặc thành một chuỗi như được chỉ định bởi đối số định dạng. Nếu t không được cung cấp, thời gian hiện tại được trả về bởi được sử dụng. định dạng phải là một chuỗi. được nâng lên nếu bất kỳ trường nào trong t nằm ngoài phạm vi cho phép 0 là một đối số pháp lý cho bất kỳ vị trí nào trong bộ thời gian; Các lệnh sau có thể được nhúng trong chuỗi định dạng. Chúng được hiển thị mà không có thông số kỹ thuật chính xác và độ rộng trường tùy chọn và được thay thế bằng các ký tự được chỉ định trong kết quả chỉ thị Nghĩa ghi chú >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)25 Tên ngày trong tuần viết tắt của ngôn ngữ >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)26 Tên ngày trong tuần đầy đủ của ngôn ngữ >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)27 Tên tháng viết tắt của ngôn ngữ >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)28 Tên tháng đầy đủ của ngôn ngữ >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)29 Đại diện ngày và giờ thích hợp của ngôn ngữ >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)30 Ngày trong tháng dưới dạng số thập phân [01,31] >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)31 Giờ (đồng hồ 24 giờ) dưới dạng số thập phân [00,23] >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)32 Giờ (đồng hồ 12 giờ) dưới dạng số thập phân [01,12] >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)33 Ngày trong năm dưới dạng số thập phân [001,366] >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)34 Tháng dưới dạng số thập phân [01,12] >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)35 Phút dưới dạng số thập phân [00,59] >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)36 Ngôn ngữ tương đương với AM hoặc PM (1) >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)37 Thứ hai dưới dạng số thập phân [00,61] (2) >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)38 Số tuần của năm (Chủ nhật là ngày đầu tuần) dưới dạng số thập phân [00,53]. Tất cả các ngày trong một năm mới trước Chủ nhật đầu tiên được coi là trong tuần 0 (3) >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)39 Ngày trong tuần dưới dạng số thập phân [0(Chủ Nhật),6] >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)40 Số tuần của năm (thứ hai là ngày đầu tuần) dưới dạng số thập phân [00,53]. Tất cả các ngày trong năm mới trước ngày thứ Hai đầu tiên được coi là trong tuần 0 (3) >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)41 Đại diện ngày thích hợp của địa phương >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)42 Đại diện thời gian thích hợp của địa phương >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)0 Năm không có thế kỷ dưới dạng số thập phân [00,99] >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)44 Năm với thế kỷ dưới dạng số thập phân >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)45 Độ lệch múi giờ biểu thị chênh lệch thời gian dương hoặc âm so với UTC/GMT có dạng +HHMM hoặc -HHMM, trong đó H biểu thị các chữ số giờ thập phân và M biểu thị các chữ số phút thập phân [-23. 59, +23. 59]. >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)46 Tên múi giờ (không có ký tự nếu không có múi giờ). không dùng nữa. >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)47 Một chữ >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)48 ký tự ghi chú
Đây là một ví dụ, một định dạng cho các ngày tương thích với định dạng được chỉ định trong tiêu chuẩn email Internet RFC 2822. >>> from time import gmtime, strftime >>> strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime()) 'Thu, 28 Jun 2001 14:17:15 +0000' Các lệnh bổ sung có thể được hỗ trợ trên một số nền tảng nhất định, nhưng chỉ những lệnh được liệt kê ở đây mới có ý nghĩa được tiêu chuẩn hóa bởi ANSI C. Để xem toàn bộ mã định dạng được hỗ trợ trên nền tảng của bạn, hãy tham khảo tài liệu strftime(3) Trên một số nền tảng, thông số kỹ thuật về độ chính xác và độ rộng trường tùy chọn có thể ngay lập tức tuân theo >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)48 đầu tiên của chỉ thị theo thứ tự sau; . Độ rộng trường thông thường là 2 ngoại trừ đối với >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)33 là 3thời gian. strptime(chuỗi[ , format]) Phân tích một chuỗi đại diện cho một thời gian theo một định dạng. Giá trị trả về là a như được trả về bởi hoặc Tham số định dạng sử dụng các chỉ thị giống như các chỉ thị được sử dụng bởi ; . Nếu chuỗi không thể được phân tích cú pháp theo định dạng hoặc nếu nó có dữ liệu dư thừa sau khi phân tích cú pháp, nó sẽ được nâng lên. Các giá trị mặc định được sử dụng để điền vào bất kỳ dữ liệu bị thiếu nào khi không thể suy ra các giá trị chính xác hơn là >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)68. Cả chuỗi và định dạng phải là chuỗi Ví dụ >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1) Hỗ trợ cho chỉ thị >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)46 dựa trên các giá trị có trong >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)70 và liệu >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)71 có đúng không. Do đó, nó dành riêng cho nền tảng ngoại trừ việc nhận ra UTC và GMT luôn được biết đến (và được coi là các múi giờ tiết kiệm ánh sáng ban ngày) Chỉ các lệnh được chỉ định trong tài liệu mới được hỗ trợ. Bởi vì std offset [dst [offset [,start[/time], end[/time]]]]2 được triển khai trên mỗi nền tảng, đôi khi nó có thể đưa ra nhiều chỉ thị hơn những chỉ thị được liệt kê. Nhưng strptime() độc lập với bất kỳ nền tảng nào và do đó không nhất thiết phải hỗ trợ tất cả các chỉ thị có sẵn không được ghi lại là được hỗ trợlớp học thời gian. struct_timeLoại chuỗi giá trị thời gian được trả về bởi , và. Nó là một đối tượng có giao diện. các giá trị có thể được truy cập theo chỉ mục và theo tên thuộc tính. Có các giá trị sau Mục lục Thuộc tính giá trị 0 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)77 (ví dụ, 1993) 1 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)78 phạm vi [1, 12] 2 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)79 phạm vi [1, 31] 3 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)80 phạm vi [0, 23] 4 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)81 phạm vi [0, 59] 5 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)82 phạm vi [0, 61]; 6 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)84 phạm vi [0, 6], thứ hai là 0 7 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)85 phạm vi [1, 366] 8 >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)86 0, 1 hoặc -1; không áp dụng std offset [dst [offset [,start[/time], end[/time]]]]9 viết tắt tên múi giờ không áp dụng std offset [dst [offset [,start[/time], end[/time]]]]8 lệch về phía đông của UTC tính bằng giây Lưu ý rằng không giống như cấu trúc C, giá trị tháng là một phạm vi [1, 12], không phải [0, 11] Trong các cuộc gọi đến , >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)86 có thể được đặt thành 1 khi thời gian tiết kiệm ánh sáng ban ngày có hiệu lực và 0 khi không. Giá trị -1 cho biết rằng điều này không được biết và thường sẽ dẫn đến trạng thái chính xác được điền vào Khi một bộ có độ dài không chính xác được chuyển đến một hàm mong đợi a hoặc có các phần tử sai loại, a sẽ được nâng lên thời gian. thời gian() →Trả lại thời gian tính bằng giây vì dưới dạng số dấu phẩy động. Việc xử lý các giây nhảy vọt phụ thuộc vào nền tảng. Trên Windows và hầu hết các hệ thống Unix, giây nhuận không được tính vào thời gian tính bằng giây kể từ khi. Điều này thường được gọi là thời gian Unix Lưu ý rằng mặc dù thời gian luôn được trả về dưới dạng số dấu phẩy động, nhưng không phải tất cả các hệ thống đều cung cấp thời gian với độ chính xác cao hơn 1 giây. Mặc dù chức năng này thường trả về các giá trị không giảm, nhưng nó có thể trả về giá trị thấp hơn so với lệnh gọi trước đó nếu đồng hồ hệ thống đã được đặt ngược lại giữa hai lệnh gọi Số được trả về có thể được chuyển đổi thành định dạng thời gian phổ biến hơn (i. e. năm, tháng, ngày, giờ, v.v…) trong UTC bằng cách chuyển nó cho hàm hoặc theo giờ địa phương bằng cách chuyển nó cho hàm. Trong cả hai trường hợp, một đối tượng được trả về, từ đó các thành phần của ngày dương lịch có thể được truy cập dưới dạng thuộc tính Sử dụng để tránh mất độ chính xác do loại thời gian. time_ns() →Tương tự như nhưng trả về thời gian dưới dạng số nguyên nano giây kể từ khi Mới trong phiên bản 3. 7 thời gian. thread_time() →Trả về giá trị (tính bằng giây) của tổng thời gian CPU của hệ thống và người dùng của luồng hiện tại. Nó không bao gồm thời gian trôi qua trong khi ngủ. Nó là chủ đề cụ thể theo định nghĩa. Điểm tham chiếu của giá trị được trả về không được xác định, do đó chỉ có sự khác biệt giữa kết quả của hai cuộc gọi trong cùng một luồng là hợp lệ Sử dụng để tránh mất độ chính xác do loại Linux, Unix, Windows Các hệ thống Unix hỗ trợ std offset [dst [offset [,start[/time], end[/time]]]]02 Mới trong phiên bản 3. 7 thời gian. thread_time_ns() →Tương tự nhưng trả về thời gian dưới dạng nano giây Mới trong phiên bản 3. 7 Đặt lại quy tắc chuyển đổi thời gian được sử dụng bởi thói quen thư viện. Biến môi trường std offset [dst [offset [,start[/time], end[/time]]]]04 chỉ định cách thực hiện điều này. Nó cũng sẽ đặt các biến >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)70 (từ biến môi trường std offset [dst [offset [,start[/time], end[/time]]]]04), std offset [dst [offset [,start[/time], end[/time]]]]07 (giây không phải DST phía Tây của UTC), std offset [dst [offset [,start[/time], end[/time]]]]08 (giây DST phía tây của UTC) và >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)71 (thành 0 nếu múi giờ này không có bất kỳ quy tắc tiết kiệm ánh sáng ban ngày nào Unix Ghi chú Mặc dù trong nhiều trường hợp, việc thay đổi biến môi trường std offset [dst [offset [,start[/time], end[/time]]]]04 có thể ảnh hưởng đến đầu ra của các chức năng như không gọi, hành vi này không nên được dựa vào Biến môi trường std offset [dst [offset [,start[/time], end[/time]]]]04 không được chứa khoảng trắng Định dạng chuẩn của biến môi trường std offset [dst [offset [,start[/time], end[/time]]]]04 là (thêm khoảng trắng cho rõ ràng) std offset [dst [offset [,start[/time], end[/time]]]] Các thành phần ở đâu std offset [dst [offset [,start[/time], end[/time]]]]15 và std offset [dst [offset [,start[/time], end[/time]]]]16 Ba hoặc nhiều chữ số viết tắt múi giờ. Những điều này sẽ được lan truyền vào thời gian. tzname std offset [dst [offset [,start[/time], end[/time]]]]17 Phần bù có dạng. std offset [dst [offset [,start[/time], end[/time]]]]18. Điều này cho biết giá trị được thêm vào giờ địa phương để đến UTC. Nếu đứng trước dấu '-', thì múi giờ nằm ở phía đông của Kinh tuyến gốc; . Nếu không có phần bù nào theo sau dst, thì giờ mùa hè được giả định là sớm hơn một giờ so với giờ tiêu chuẩn std offset [dst [offset [,start[/time], end[/time]]]]19 Cho biết thời điểm chuyển sang và quay lại từ DST. Định dạng của ngày bắt đầu và ngày kết thúc là một trong các định dạng sau std offset [dst [offset [,start[/time], end[/time]]]]20 Ngày Julius n (1 <= n <= 365). Ngày nhuận không được tính, vì vậy trong tất cả các năm, ngày 28 tháng 2 là ngày 59 và ngày 1 tháng 3 là ngày 60 std offset [dst [offset [,start[/time], end[/time]]]]21 Ngày Julian dựa trên số 0 (0 <= n <= 365). Ngày nhuận được tính và có thể tham khảo ngày 29 tháng 2 std offset [dst [offset [,start[/time], end[/time]]]]22 Ngày thứ d (0 <= d <= 6) của tuần n tháng m của năm (1 <= n <= 5, 1 <= m <= 12, trong đó tuần 5 có nghĩa là “ngày d cuối cùng trong . Tuần 1 là tuần đầu tiên xảy ra ngày thứ. Ngày không là một ngày chủ nhật
std offset [dst [offset [,start[/time], end[/time]]]]17 ngoại trừ việc không cho phép có dấu đầu dòng ('-' hoặc '+'). Mặc định, nếu thời gian không được đưa ra, là 02. 00. 00 >>> os.environ['TZ'] = 'EST+05EDT,M4.1.0,M10.5.0' >>> time.tzset() >>> time.strftime('%X %x %Z') '02:07:36 05/08/03 EDT' >>> os.environ['TZ'] = 'AEST-10AEDT-11,M10.5.0,M3.5.0' >>> time.tzset() >>> time.strftime('%X %x %Z') '16:08:12 05/08/03 AEST' Trên nhiều hệ thống Unix (bao gồm *BSD, Linux, Solaris và Darwin), sẽ thuận tiện hơn khi sử dụng cơ sở dữ liệu zoneinfo (tzfile(5)) của hệ thống để chỉ định quy tắc múi giờ. Để thực hiện việc này, hãy đặt biến môi trường std offset [dst [offset [,start[/time], end[/time]]]]04 thành đường dẫn của tệp dữ liệu múi giờ được yêu cầu, liên quan đến thư mục gốc của cơ sở dữ liệu múi giờ 'zoneinfo' của hệ thống, thường được đặt tại std offset [dst [offset [,start[/time], end[/time]]]]26. Ví dụ: std offset [dst [offset [,start[/time], end[/time]]]]27, std offset [dst [offset [,start[/time], end[/time]]]]28, std offset [dst [offset [,start[/time], end[/time]]]]29 hoặc std offset [dst [offset [,start[/time], end[/time]]]]30 ________số 8_______ Hằng số ID đồng hồCác hằng số này được sử dụng làm tham số cho và thời gian. CLOCK_BOOTTIMEGiống với , ngoại trừ nó cũng bao gồm bất kỳ thời điểm nào mà hệ thống bị treo Điều này cho phép các ứng dụng có được đồng hồ đơn điệu nhận biết tạm dừng mà không phải xử lý các biến chứng của , có thể bị gián đoạn nếu thời gian bị thay đổi bằng cách sử dụng std offset [dst [offset [,start[/time], end[/time]]]]35 hoặc tương tự Linux >= 2. 6. 39 Mới trong phiên bản 3. 7 thời gian. CLOCK_HIGHRESHệ điều hành Solaris có bộ đếm thời gian std offset [dst [offset [,start[/time], end[/time]]]]36 cố gắng sử dụng nguồn phần cứng tối ưu và có thể cho độ phân giải gần bằng nano giây. std offset [dst [offset [,start[/time], end[/time]]]]36 là đồng hồ có độ phân giải cao, không thể điều chỉnh được năng lượng mặt trời Mới trong phiên bản 3. 3 thời gian. CLOCK_MONOTONICĐồng hồ không thể được đặt và biểu thị thời gian đơn điệu vì một số điểm bắt đầu không xác định Unix Mới trong phiên bản 3. 3 thời gian. CLOCK_MONOTONIC_RAWTương tự như , nhưng cung cấp quyền truy cập vào thời gian thô dựa trên phần cứng không chịu sự điều chỉnh của NTP Linux >= 2. 6. 28, macOS >= 10. 12 Mới trong phiên bản 3. 3 thời gian. CLOCK_PROCESS_CPUTIME_IDBộ hẹn giờ cho mỗi quá trình có độ phân giải cao từ CPU Unix Mới trong phiên bản 3. 3 thời gian. CLOCK_PROFBộ hẹn giờ cho mỗi quá trình có độ phân giải cao từ CPU FreeBSD, NetBSD >= 7, OpenBSD Mới trong phiên bản 3. 7 thời gian. CLOCK_TAIHệ thống phải có một bảng nhuận thứ hai hiện tại để điều này đưa ra câu trả lời chính xác. Phần mềm PTP hoặc NTP có thể duy trì bảng thứ hai nhuận Linux Mới trong phiên bản 3. 9 thời gian. CLOCK_THREAD_CPUTIME_IDĐồng hồ thời gian CPU dành riêng cho luồng Unix Mới trong phiên bản 3. 3 thời gian. CLOCK_UPTIMEThời gian có giá trị tuyệt đối là thời gian hệ thống đã chạy và không bị treo, cung cấp phép đo thời gian hoạt động chính xác, cả tuyệt đối và khoảng thời gian FreeBSD, OpenBSD >= 5. 5 Mới trong phiên bản 3. 7 thời gian. CLOCK_UPTIME_RAWĐồng hồ tăng dần đều, theo dõi thời gian từ một điểm tùy ý, không bị ảnh hưởng bởi điều chỉnh tần số hoặc thời gian và không tăng khi hệ thống ở chế độ ngủ macOS >= 10. 12 Mới trong phiên bản 3. 8 Hằng số sau đây là tham số duy nhất có thể được gửi tới thời gian. CLOCK_REALTIMEĐồng hồ thời gian thực toàn hệ thống. Đặt đồng hồ này yêu cầu đặc quyền thích hợp Unix Mới trong phiên bản 3. 3 Hằng số múi giờthời gian. altzonePhần bù của múi giờ DST cục bộ, tính bằng giây về phía tây của UTC, nếu một múi giờ được xác định. Điều này là tiêu cực nếu múi giờ DST địa phương ở phía đông của UTC (như ở Tây Âu, bao gồm cả Vương quốc Anh). Chỉ sử dụng cái này nếu >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)71 khác không. Xem ghi chú bên dướithời gian. ánh sáng ban ngày Khác không nếu múi giờ DST được xác định. Xem ghi chú bên dưới thời gian. múi giờĐộ lệch của múi giờ địa phương (không phải DST), tính bằng giây về phía tây của UTC (âm ở hầu hết Tây Âu, dương ở Hoa Kỳ, 0 ở Vương quốc Anh). Xem ghi chú bên dưới thời gian. tznameMột bộ gồm hai chuỗi. đầu tiên là tên của múi giờ không phải DST cục bộ, thứ hai là tên của múi giờ DST cục bộ. Nếu không có múi giờ DST nào được xác định, chuỗi thứ hai sẽ không được sử dụng. Xem ghi chú bên dưới Ghi chú Đối với các hằng số Múi giờ (, , và ) ở trên, giá trị được xác định theo quy tắc múi giờ có hiệu lực tại thời điểm tải mô-đun hoặc lần cuối cùng được gọi và có thể không chính xác trong quá khứ. Bạn nên sử dụng kết quả của std offset [dst [offset [,start[/time], end[/time]]]]8 và std offset [dst [offset [,start[/time], end[/time]]]]9 để lấy thông tin múi giờ Xem thêm mô-đunGiao diện hướng đối tượng hơn cho ngày và giờ mô-đunDịch vụ quốc tế hóa. Cài đặt ngôn ngữ ảnh hưởng đến việc diễn giải nhiều định dạng định dạng trong và mô-đunCác chức năng liên quan đến lịch chung. là nghịch đảo của từ mô-đun này chú thích 1(,,)Việc sử dụng >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)46 hiện không được dùng nữa, nhưng lối thoát >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)45 mở rộng thành phần bù giờ/phút ưa thích không được hỗ trợ bởi tất cả các thư viện ANSI C. Ngoài ra, việc đọc đúng tiêu chuẩn RFC 822 ban đầu năm 1982 yêu cầu năm có hai chữ số ( >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)0 chứ không phải >>> import time >>> time.strptime("30 Nov 00", "%d %b %y") time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)44), nhưng thực tế đã chuyển sang năm có 4 chữ số trước năm 2000. Sau đó, RFC 822 trở nên lỗi thời và năm có 4 chữ số lần đầu tiên được đề xuất bởi RFC 1123 và sau đó được bắt buộc bởi RFC 2822 |