PyTime C API¶
Added in version 3.13.
Đồng hồ C API cung cấp quyền truy cập vào đồng hồ hệ thống. Nó tương tự như mô-đun time của Python.
Đối với C API liên quan đến mô-đun datetime, hãy xem Đối tượng ngày giờ.
Các loại¶
-
type PyTime_t¶
Dấu thời gian hoặc thời lượng tính bằng nano giây, được biểu thị dưới dạng số nguyên 64 bit có dấu.
Điểm tham chiếu cho dấu thời gian phụ thuộc vào đồng hồ được sử dụng. Ví dụ:
PyTime_Time()trả về dấu thời gian liên quan đến kỷ nguyên UNIX.Phạm vi được hỗ trợ là khoảng [-292,3 năm; +292,3 năm]. Sử dụng kỷ nguyên Unix (ngày 1 tháng 1 năm 1970) làm tham chiếu, phạm vi ngày được hỗ trợ là vào khoảng [1677-09-21; 2262-04-11]. Các giới hạn chính xác được thể hiện dưới dạng hằng số:
Chức năng đồng hồ¶
Các hàm sau đưa con trỏ tới PyTime_t mà chúng đặt thành giá trị của một đồng hồ cụ thể. Chi tiết về từng đồng hồ được đưa ra trong tài liệu của hàm Python tương ứng.
Các hàm trả về 0 nếu thành công hoặc -1 (với một bộ ngoại lệ) nếu thất bại.
Khi tràn số nguyên, họ đặt ngoại lệ PyExc_OverflowError và đặt *result thành giá trị được giới hạn trong phạm vi [PyTime_MIN; PyTime_MAX]. (Trên các hệ thống hiện tại, lỗi tràn số nguyên có thể xảy ra do thời gian hệ thống bị định cấu hình sai.)
Giống như bất kỳ C API nào khác (trừ khi có quy định khác), các hàm phải được gọi bằng attached thread state.
-
int PyTime_Monotonic(PyTime_t *result)¶
Đọc đồng hồ đơn điệu. Xem
time.monotonic()để biết chi tiết quan trọng về đồng hồ này.
-
int PyTime_PerfCounter(PyTime_t *result)¶
Đọc bộ đếm hiệu suất. Xem
time.perf_counter()để biết chi tiết quan trọng về đồng hồ này.
-
int PyTime_Time(PyTime_t *result)¶
Đọc thời gian trên “đồng hồ treo tường”. Xem
time.time()để biết chi tiết quan trọng về đồng hồ này.
Chức năng đồng hồ thô¶
Tương tự như chức năng đồng hồ, nhưng không đặt ngoại lệ khi có lỗi và không yêu cầu người gọi phải có attached thread state.
Nếu thành công, các hàm sẽ trả về 0.
Nếu thất bại, họ đặt *result thành 0 và trả về -1, without đặt một ngoại lệ. Để biết nguyên nhân lỗi, attach a thread state và gọi hàm thông thường (không phải Raw). Lưu ý rằng chức năng thông thường có thể thành công sau khi chức năng Raw không thành công.
-
int PyTime_MonotonicRaw(PyTime_t *result)¶
Tương tự như
PyTime_Monotonic(), nhưng không đặt ngoại lệ khi có lỗi và không yêu cầu attached thread state.
-
int PyTime_PerfCounterRaw(PyTime_t *result)¶
Tương tự như
PyTime_PerfCounter(), nhưng không đặt ngoại lệ khi có lỗi và không yêu cầu attached thread state.
-
int PyTime_TimeRaw(PyTime_t *result)¶
Tương tự như
PyTime_Time(), nhưng không đặt ngoại lệ khi có lỗi và không yêu cầu attached thread state.