栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SqlAlchemy在保存之前将UTC DateTime转换为本地时间

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SqlAlchemy在保存之前将UTC DateTime转换为本地时间

我怀疑正在发生的事情是您

datetime
正确存储了感知s,但是由于该列为,所以没有时区回读它
WITHOUT TIMEZONE
。每个PostgreSQL连接都有一个关联的时区,该时区默认为系统时区,因此,当您检索特定的时区时,
TIMESTAMP
它会
datetime
在系统时区中作为天真返回。由于这个原因,我总是建议
TIMESTAMPWITH TIME ZONE
改为存储。

如果要将SQLAlchemy中的连接时区更改为UTC,请在创建引擎时执行以下操作:

engine = create_engine("...", connect_args={"options": "-c timezone=utc"})

这应该使您

datetime
以UTC天真地读回该值。

编辑:@Peter该文档并不明显如何执行此操作;我必须阅读一些不同的文档并连接点:

  1. 有关的SQLAlchemy文档
    connect_args
    允许您将参数直接传递给DBAPI
    connect()
  2. 上的psycopg2文档
    connect
    ,它告诉您可以传递给libpq的其他参数
  3. options
    参数上的libpq文档,该文件可让您在与libpq连接时传递命令行选项
  4. 有关
    -c
    命令行开关的PostgreSQL文档,该命令行开关允许您修改配置设置
  5. 最后,关于
    timezone
    您可以设置的客户端设置的PostgreSQL客户端文档


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626328.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号