使用python检查datetime是否有日期名称或时区

使用python检查datetime是否有日期名称或时区,python,datetime,django-rest-framework,Python,Datetime,Django Rest Framework,我从回复中收到3种类型的日期格式 2019年12月24日星期二05:19:34+0000 GMT 2019年12月23日08:00:10-0500 2019年12月23日星期一08:00:10-0500 我使用下面的代码将给定的日期时间转换为python日期时间 日期=datetime.datetime.strptimereceive_日期,'%a,%d%b%Y%H:%M:%S%z%z' 日期=datetime.datetime.strptimereceive_日期,'%d%b%Y%H:%M:%

我从回复中收到3种类型的日期格式

2019年12月24日星期二05:19:34+0000 GMT 2019年12月23日08:00:10-0500 2019年12月23日星期一08:00:10-0500 我使用下面的代码将给定的日期时间转换为python日期时间

日期=datetime.datetime.strptimereceive_日期,'%a,%d%b%Y%H:%M:%S%z%z' 日期=datetime.datetime.strptimereceive_日期,'%d%b%Y%H:%M:%S%z' 日期=datetime.datetime.strptimereceive_日期,'%a,%d%b%Y%H:%M:%S%z' 但是我没有找到一种方法来检查我从回复中收到的是哪种格式。

您可以使用它来检测日期

import dateutil.parser
d = dateutil.parser.parse(your_date_str)
样本输出

>>> your_date_str = 'Tue, 24 Dec 2019 05:19:34 +0000 (GMT)'
>>> d = dateutil.parser.parse(your_date_str)
>>> d
datetime.datetime(2019, 12, 24, 5, 19, 34, tzinfo=tzutc())
希望这能帮助您检测日期

import dateutil.parser
d = dateutil.parser.parse(your_date_str)
样本输出

>>> your_date_str = 'Tue, 24 Dec 2019 05:19:34 +0000 (GMT)'
>>> d = dateutil.parser.parse(your_date_str)
>>> d
datetime.datetime(2019, 12, 24, 5, 19, 34, tzinfo=tzutc())

希望这对您有所帮助

您可以尝试每种方法,看看哪种方法不会失败。您可以尝试每种方法,看看哪种方法不会失败。