让SQLAlchemy返回UTC时间

让SQLAlchemy返回UTC时间,sqlalchemy,timezone,Sqlalchemy,Timezone,我不知道如何让SQLAlchemy以UTC返回时间。我有一个带有日期时间字段的模型,其时区为True。我知道Postgres在内部以UTC存储所有时区,但当日期返回时,它会转移到我正在使用的时区。当SQLAlchemy从Postgres检索python datetime对象时,它的tzinfo设置为psycopg2.tz.FixedOffsetTimezone(偏移量=-240,名称=无)。我知道一旦我从SQLalchemy中获取了日期,我就可以转换为UTC,但这听起来很乏味,因为我的代码中到处

我不知道如何让SQLAlchemy以UTC返回时间。我有一个带有日期时间字段的模型,其时区为True。我知道Postgres在内部以UTC存储所有时区,但当日期返回时,它会转移到我正在使用的时区。当SQLAlchemy从Postgres检索python datetime对象时,它的
tzinfo
设置为
psycopg2.tz.FixedOffsetTimezone(偏移量=-240,名称=无)
。我知道一旦我从SQLalchemy中获取了日期,我就可以转换为UTC,但这听起来很乏味,因为我的代码中到处都会使用datetimes。

默认情况下,SQLalchemy将以UTC返回时间。您应该删除timezone=True(或将其设置为False)。

您确定postgres数据库没有设置时区吗?登录到postgres并运行:

test_db=> show timezone;
TimeZone 
---------
US/Central
这将导致SQLAlchemy的所有时间输出都具有中心时区。您希望确保此值与以下值类似:

test_db=> show timezone;
 TimeZone
----------
 UTC