Timestamp là giá trị offset giữa một thời điểm và epoch (1/1/1970 UTC), nó không liên quan đến múi giờ. Khi chuyển đổi thành chuỗi đọc được như '%Y-%m-%d %H:%M:%S' (không chứa thông tin múi giờ), Python giả định bạn muốn dùng cài đặt múi giờ địa phương (local timezone).
datetime.timestamp() trên đối tượng naive datetime gọi mktime() nội bộ – tức là đầu vào được hiểu là giờ địa phương. Định nghĩa giờ địa phương có thể khác nhau giữa các hệ thống.
Hàm C mktime() có thể trả kết quả sai nếu múi giờ địa phương từng có offset UTC khác nhau trong quá khứ và không dùng cơ sở dữ liệu múi giờ lịch sử.
Trên Unix, interpreter dùng cơ sở dữ liệu tz (zoneinfo) của hệ thống để lấy thông tin múi giờ. Windows không có cơ sở dữ liệu này, dẫn đến sự khác biệt.
Khuyến nghị: Luôn làm việc với aware datetime (có gắn múi giờ) bằng pytz hoặc zoneinfo (Python 3.9+) để tránh lỗi do múi giờ.