无法减去天真偏移和可感知偏移的日期时间
问题内容:
我timestamptz
在PostgreSQL中有一个时区感知字段。当我从表中提取数据时,我想现在减去时间,以便确定时间。
我遇到的问题是,无论是datetime.datetime.now()
和datetime.datetime.utcnow()
似乎回到时区不知道时间戳,这导致我得到这个错误:
TypeError: can't subtract offset-naive and offset-aware datetimes
有没有一种方法可以避免这种情况(最好不要使用第三方模块)。
编辑:感谢您的建议,但是尝试调整时区似乎给了我错误..因此,我只打算在PG中使用不了解时区的时间戳,并始终使用以下命令进行插入:
NOW() AT TIME ZONE 'UTC'
这样,默认情况下,我所有的时间戳都是UTC(即使这样做比较烦人)。
问题答案:
您是否尝试删除时区意识?
来自http://pytz.sourceforge.net/
naive = dt.replace(tzinfo=None)
可能还必须添加时区转换。
编辑:请注意这个答案的年龄。下面是一个涉及添加时区信息而不是在python
3中删除它的答案。https://stackoverflow.com/a/25662061/93380