Nếu không được nêu rõ ràng, các hàm / mô-đun ngày giờ trong Python sẽ giả định mọi thứ theo múi giờ Địa phương.
time.mktime () giả định rằng bộ giá trị được truyền là theo giờ địa phương, calendar.timegm () giả định rằng nó theo giờ GMT / UTC.
Tùy thuộc vào cách diễn giải mà bộ tuple đại diện cho một thời gian khác nhau, do đó, các hàm trả về các giá trị khác nhau (giây kể từ khi kỷ nguyên dựa trên UTC).
Chênh lệch giữa các giá trị phải bằng chênh lệch múi giờ của múi giờ địa phương của bạn.
ví dụ
import calendar import time from datetime import datetime dt = datetime(2017, 12, 31) print(time.mktime(dt.timetuple())) print(calendar.timegm(dt.timetuple()))
Đầu ra
Điều này sẽ cung cấp đầu ra -
1514658600.0 1514678400