无法减去天真偏移和可感知偏移的日期时间

发布于 2021-01-29 16:26:17

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(即使这样做比较烦人)。

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您是否尝试删除时区意识?

    来自http://pytz.sourceforge.net/

    naive = dt.replace(tzinfo=None)
    

    可能还必须添加时区转换。

    编辑:请注意这个答案的年龄。下面是一个涉及添加时区信息而不是在python
    3中删除它的答案。https://stackoverflow.com/a/25662061/93380



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看