ฉันมีเขตtimestamptz
ข้อมูลเขตเวลาใน PostgreSQL เมื่อฉันดึงข้อมูลจากตารางจากนั้นฉันต้องการที่จะลบเวลาตอนนี้เพื่อที่ฉันจะได้อายุ
ปัญหาที่ฉันมีอยู่ก็คือทั้งคู่datetime.datetime.now()
และdatetime.datetime.utcnow()
ดูเหมือนจะย้อนกลับไปยังเขตเวลาที่ไม่ทราบเวลาซึ่งทำให้ฉันได้รับข้อผิดพลาดนี้:
TypeError: can't subtract offset-naive and offset-aware datetimes
มีวิธีการหลีกเลี่ยงปัญหานี้หรือไม่ (ควรมีโมดูลของบุคคลที่สาม)
แก้ไข: ขอบคุณสำหรับคำแนะนำ แต่พยายามปรับเขตเวลาดูเหมือนว่าจะทำให้ฉันมีข้อผิดพลาด .. ดังนั้นฉันจะใช้ timestamps ไม่ทราบเขตเวลาใน PG และใส่โดยใช้:
NOW() AT TIME ZONE 'UTC'
ด้วยวิธีนี้การประทับเวลาทั้งหมดของฉันเป็น UTC ตามค่าเริ่มต้น (แม้ว่าจะทำสิ่งนี้ได้น่ารำคาญกว่า)