เมื่อคุณมีออบเจ็กต์เวลา 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