最佳答案
我在PostgreSQL中有一个时区感知的timestamptz
字段。当我从表中提取数据时,我想减去现在的时间,这样我就可以得到它的年龄。
我遇到的问题是datetime.datetime.now()
和datetime.datetime.utcnow()
似乎都返回不知道时区的时间戳,这导致我得到这个错误:
TypeError: can't subtract offset-naive and offset-aware datetimes
是否有办法避免这种情况(最好不使用第三方模块)。
编辑:谢谢你的建议,但试图调整时区似乎给我错误。所以我将在PG中使用不考虑时区的时间戳,并且总是插入using:
NOW() AT TIME ZONE 'UTC'
这样,默认情况下我的所有时间戳都是UTC(尽管这样做更烦人)。