Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะเปรียบเทียบเวลาในเขตเวลาต่าง ๆ ใน Python ได้อย่างไร


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