python – SqlAlchemy在保存之前将UTC DateTime转换为本地时间
我有以下情况:
timestamp without time zone >在保存日期时间值之前,它看起来像:2014-09-29 06:00:00 00:00 所以在数据库中,存储的日期不再是6AM ..但是9AM – 它在我当地时区转换. 我不明白发生了什么.为什么保存的日期转换为本地? 谢谢. 编辑 所以在@ univerio的回复后我尝试了一些东西:我从日期时间中删除了tzinfo .replace(tzinfo = None) 现在日期保存正确 – 它不会调整到当地时间.我不太明白为什么所以我会暂时保留这个问题以防万一有人解释. 谢谢. 解决方法我怀疑发生的是你正确存储感知日期时间,但是没有用时区读回它,因为列是WITHOUT TIME ZONE.每个PostgreSQL连接都有一个默认为系统时区的关联时区,因此当您检索特定的TIMESTAMP时,它将作为系统时区中的天真日期时间返回.出于这个原因,我总是建议存储TIMESTAMP WITH TIME ZONE.如果要将SQLAlchemy中的连接时区更改为UTC,请在创建引擎时执行以下操作: engine = create_engine("...",connect_args={"options": "-c timezone=utc"}) 这应该让您将该值读回为UTC中的天真日期时间. 编辑:@Peter文档没有说明如何做到这一点;我不得不阅读几个不同的文档并连接点: >关于 (编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – 错误“没有提供异常”是什么意思?
- 在django管理员中替代用户选择界面以减小大型网站上的页面大
- Python统计python文件中代码,注释及空白对应的行数示例【测
- python – 用于打开具有两个函数的文件的“with”语法
- 如何在Django中断言已经从数据库中填充了模型字段?
- python – 类,dict,self,init,args?
- python – UnicodeDecodeError:’utf8’编解码器无法解码位
- python – 基本的openGL,顶点缓冲区和pyglet
- ValueError:参数必须是密集张量–Python和TensorFlow
- python – 芹菜工作者无法连接到docker实例上的redis
- python – 如何使我的SWIG扩展模块与Pickle工作?
- 如何在python代码中编写此算法?
- 一个基于python的PowerShell?
- python exceptions.UnicodeDecodeError:’ascii
- Python使用metaclass实现Singleton模式的方法
- python – Aiohttp,Asyncio:RuntimeError:事件
- python – Django模板将模板变量传递到剪切过滤器
- python – Networkx:将多重图形转换为加权边缘的
- 想在Jupyter Notebook(Anaconda)中保存并运行Pyt
- 在没有busywait的情况下在python中实现亚毫秒处理