Computer >> Máy Tính >  >> Lập trình >> Python

Tại sao tôi nhận được các dấu thời gian khác nhau trong python trên các máy khác nhau?

Dấu thời gian là một giá trị bù đắp giữa một điểm trong dòng thời gian và kỷ nguyên, không liên quan gì đến múi giờ. Khi nó được chuyển đổi thành một chuỗi mà con người có thể đọc được như '% Y-% m-% d% H:% M:% S' không bao gồm bất kỳ thông tin múi giờ nào, python giả định rằng bạn muốn sử dụng cài đặt múi giờ cục bộ.

datetime.timestamp () trên một đối tượng datetime đơn thuần gọi mktime () trong nội bộ, tức là đầu vào được hiểu là giờ cục bộ. Định nghĩa giờ địa phương có thể khác nhau giữa các hệ thống.

C mktime () có thể trả về kết quả sai nếu múi giờ cục bộ có độ lệch utc khác trước đây và cơ sở dữ liệu múi giờ lịch sử không được sử dụng.

Trên Unix, khi chúng ta gọi dấu thời gian (), trình thông dịch sử dụng cơ sở dữ liệu tz có sẵn trên hệ thống UNIX để lấy thông tin múi giờ. Mặc dù nó không có trên windows.