เมื่อคุณมีออบเจ็กต์เวลา 2 แบบที่มีเขตเวลาต่างกัน และคุณจำเป็นต้องเปรียบเทียบ คุณจำเป็นต้องเข้าใจความแตกต่างระหว่างอ็อบเจ็กต์ที่รับรู้และไร้เดียงสาเสียก่อน วัตถุ datetime ที่รับรู้เป็นวัตถุที่เก็บข้อมูลเกี่ยวกับเขตเวลาในขณะที่วัตถุไร้เดียงสาไม่เก็บข้อมูลเขตเวลาใด ๆ
วิธีที่ง่ายที่สุดในการเปรียบเทียบวัตถุที่รับรู้ 2 รายการเพื่อตรวจสอบว่าวัตถุนั้นบอกเวลาเดียวกันหรือไม่คือการเปรียบเทียบโดยตรง
ตัวอย่าง
import datetime, pytz
local_tz = pytz.timezone('CET')
# Get the time in UTC
utc = datetime.datetime.now(pytz.utc)
# Convert the time to local timezone
local = utc.astimezone(local_tz)
print("UTC: ", utc)
print("Local: ", local)
print(utc == local) ผลลัพธ์
สิ่งนี้จะให้ผลลัพธ์ -
UTC: 2018-01-03 17:02:43.632805+00:00 Local: 2018-01-03 18:02:43.632805+01:00 True