我在PostgreSQL中有一个时区感知的timestamptz
字段。当我从表中提取数据时,我希望减去现在的时间,以便得到它的年龄。
我的问题是datetime.datetime.now()
和datetime.datetime.utcnow()
似乎都返回未指定时区的时间戳,这导致我得到以下错误:
TypeError: can't subtract offset-naive and offset-aware datetimes
有没有办法避免这种情况(最好不使用第三方模块)。
编辑:感谢提供建议,但是尝试调整时区似乎会给我带来错误。因此,我将在PG中使用无时区时间戳,并始终使用以下方式进行插入:
NOW() AT TIME ZONE 'UTC'
这样,所有的时间戳都将默认为UTC时间(即使这样做更麻烦)。