Tôi có một timestamptz
trường nhận biết múi giờ trong PostgreSQL. Khi tôi lấy dữ liệu từ bảng, sau đó tôi muốn trừ thời gian ngay bây giờ để tôi có thể nhận được tuổi.
Vấn đề tôi gặp phải là cả hai datetime.datetime.now()
và datetime.datetime.utcnow()
dường như trả lại dấu thời gian mà không biết dấu thời gian, dẫn đến việc tôi gặp phải lỗi này:
TypeError: can't subtract offset-naive and offset-aware datetimes
Có cách nào để tránh điều này (tốt nhất là không sử dụng mô-đun của bên thứ ba).
EDIT: Cảm ơn các đề xuất, tuy nhiên, việc cố gắng điều chỉnh múi giờ dường như gây ra lỗi cho tôi .. vì vậy tôi sẽ sử dụng dấu thời gian không biết về múi giờ trong PG và luôn chèn bằng cách sử dụng:
NOW() AT TIME ZONE 'UTC'
Theo cách đó, tất cả các dấu thời gian của tôi là UTC theo mặc định (mặc dù việc này khó chịu hơn).