在Python中,将时区传递给datetime.strptime的正确方法是什么?

问题描述 投票:0回答:1

我正在使用Python 3.7,而本文中的解决方案均不适用-Python strptime() and timezones?适用于我。我有这个用于从文本生成日期时间...

datetime.strptime(created_on_txt, '%Y-%m-%dT%H:%M:%S%z')

稍后将导致警告...

DateTimeField Article.created_on received a naive datetime (2019-12-09 00:08:17.670597) while time zone support is active.

所以我添加了一个像这样的时区...

datetime(pytz.timezone(settings.TIME_ZONE)).strptime(created_on_txt, '%Y-%m-%dT%H:%M:%S%z')

但是这会导致错误...

TypeError: an integer is required

将时区纳入日期时间的正确方法是什么?

python python-3.x datetime timezone date-parsing
1个回答
0
投票

首先创建朴素的datetime实例,然后使用pytz包添加时区信息。

# naive datetime
datetime.strptime(created_on_txt, '%Y-%m-%dT%H:%M:%S%' )

添加时区,如下面的帖子中所示

How to make an unaware datetime timezone aware in python

© www.soinside.com 2019 - 2024. All rights reserved.