django - Django orm 返回时区 0,而我想要时区规范
问题描述
我从不使用时区转变为使用时区,但我有几个关于处理它的问题。首先,我的设置如下所示:
TIME_ZONE = "Europe/Amsterdam"
USE_TZ = True
我现在从数据库中获取正确的时区,但不在正确的时区。我怀疑当我TIME_ZONE
在欧洲/阿姆斯特丹时,我会回到那个时区。但相反,我得到:
2020-09-27 23:00:07+00:00
但我想收到的是:
2020-09-27 22:00:00+02:00
我可以通过使用来做到这一点
timezone.localtime(date_object)
但是有没有办法直接从 orm 中以正确的格式恢复时区?
我正在使用 Postgres 11 和 Django 3.0.1
解决方案
但是有没有办法直接从 orm 中以正确的格式恢复时区?
不,Django 总是datetime
以 UTC 格式提供对象;看到这个答案。Django 指的是TIME_ZONE
在渲染模板或解析表单时,但在此之前,除非另有明确转换,否则一切都在 UTC 中。
推荐阅读
- ios - 获取 C# 对象的 ObjectiveC 引用(Xamarin.iOS、CAMetalLayer)
- java - 使用 PDFBox 保存方法将文件上传到 SFTP 服务器而不将文件存储到本地系统?
- c# - 带预处理器的模拟中介
- android - Android - 使用正则表达式从长字符串中获取 id 号
- android - 仅在我的应用程序加载时第一次拒绝访问路径“/storage/emulated/0/log.txt”
- python - 重新格式化 sqalchemy 中的行数
- xml - 如何使用 gtk 源视图和 XML 在文本编辑器中为语法高亮添加自定义配色方案
- java - ArchUnit 测试 importOptions DoNotIncludeTests 不起作用
- sql - Oracle PLSQL 游标函数
- python - 正则表达式反转选择