python - Django 1.11 - 将时区为 2018-01-01T00:00:00+03:00 的日期时间字符串转换为用于查询集的日期时间对象
问题描述
我正在使用 Django 1.11 和 Postgres 9.4。
我怎样才能转换这个
2018-01-01T00:00:00+03:00
进入可用于查询集的日期时间对象,如下所示
Tracking.objects.filter(created_at__gte=input_datetime)
Z时间我可以使用这个:
input_datetime = datetime.datetime.strptime("2019-11-01T01:36:56.233032Z", "%Y-%m-%dT%H:%M:%SZ")
但我怎样才能让它在这个时候工作(这似乎有时区)。我试过这个,但它没有用。
input_datetime = datetime.datetime.strptime('2018-01-01T00:00:00+03:00','%Y-%m-%dT%H:%M:%S.%f%z')
这是我的model.py
class Tracking(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
解决方案
您实际上可以datetime
为此使用 Python 标准库。像这样的东西:
from datetime import datetime
a = '2018-01-01T00:00:10+03:00'
datetime.datetime(2018, 1, 1, 0, 0, 10, tzinfo=datetime.timezone(datetime.timedelta(seconds=10800)))
它将为您提供一个datetime.datetime
对象,您可以稍后将其用于水。
推荐阅读
- azure - Azure Active Directory 身份验证 - Azure 上出现 500 错误
- xslt-2.0 - 生成按字母顺序排序的序列
- sed - 如何用 Jenkins Groovy 中的 sed 分别用 \< 和 \> 替换文件中的 < 和 > 符号?
- namespaces - 错误:'attrition' 不是从 'namespace:rsample' 导出的对象
- pdf - 如何从图像和 bash 命令行为 pdf 文件添加封面?
- c - 在以下示例中,优先级和关联性如何工作?
- assembly - REV16 ARMV8 汇编指令
- android - 构建应用程序无响应后,从 android 9-Pie 为 android 10-Q 升级 sdk 29 时出错
- javascript - 为什么我的 handleLogout 功能在我的 react 应用程序中不起作用?
- sql - Rails 查询 - 如何在特定列上连接两个表