【问题标题】:Python convert a str date into a datetime with timezone objectPython将字符串日期转换为带有时区对象的日期时间
【发布时间】:2021-11-11 08:40:10
【问题描述】:

在我的 django 项目中,我必须将作为日期(“2021-11-10”)传递的 str 变量转换为带有时区对象的日期时间,以便在 DateTime 字段上执行 ORM 过滤器。 在我的数据库中,值存储为例如:

2021-11-11 01:18:04.200149+00

我试试:

# test date
df = "2021-11-11"
df = df + " 00:00:00+00"
start_d = datetime.strptime(df, '%Y-%m-%d %H:%M:%S%Z')

但由于有关 str 格式和日期时间表示的错误(不同)而出现错误

如何将单个日期字符串转换为时区从日期值的午夜开始的日期时间对象?

提前非常感谢

【问题讨论】:

    标签: python-3.x django-models python-datetime


    【解决方案1】:

    这不是datetime.strptime 的方式。 多读一点here 我相信它会对你有所帮助。 您应该将月份实现为 str 并且不带“-”。

    祝你好运

    【讨论】:

    • strptime 在这里不起作用,即使使用“正确”的解析指令(尝试datetime.strptime("2021-11-11 01:18:04.200149+00", "%Y-%m-%d %H:%M:%S.%f%z"))。 OP 需要在前面加上 ':00' 才能完成这项工作或使用第三方库解析器,例如dateutil.parser.parse("2021-11-11 01:18:04.200149+00").
    猜你喜欢
    • 2017-09-08
    • 2019-01-20
    • 1970-01-01
    • 2018-11-13
    • 2012-07-31
    • 2017-07-29
    • 1970-01-01
    • 2015-03-24
    • 2023-04-09
    相关资源
    最近更新 更多