Python 标准化不同的日期格式

Python 标准化不同的日期格式,python,python-3.x,django,python-datetime,Python,Python 3.x,Django,Python Datetime,我正在尝试使用具有不同类型(字符串)日期值的XML数据,如: '太阳,2021年4月4日13:32:26+0200' “太阳,2021年4月4日11:52:29 GMT” 我想把它们保存在一个有datetime字段的Django对象中 我编写的用于转换str datetime的脚本如下所示: def normalise(val): val = datetime.strptime(val, '%a, %d %b %Y %H:%M:%S %z') return val 尽管如此,这

我正在尝试使用具有不同类型(字符串)日期值的XML数据,如:

'太阳,2021年4月4日13:32:26+0200'

“太阳,2021年4月4日11:52:29 GMT”

我想把它们保存在一个有datetime字段的Django对象中

我编写的用于转换str datetime的脚本如下所示:

def normalise(val):
    val = datetime.strptime(val, '%a, %d %b %Y %H:%M:%S %z')
    return val
尽管如此,这并不适用于我获取的每个datetime值。例如,对于以上两个示例,脚本适用于第一个示例,但在第二个示例中崩溃。
标准化所有日期时间值的理想方法是什么?

dateutil
模块解析许多不同类型的格式。你可以找到医生

这是一个简单的例子:

如果uuuu name_uuuu=='\uuuuuuu main\uuuuuu':
从dateutil.parser导入解析
日期_strs=['2021年4月4日星期日13:32:26+0200','2021年4月4日星期日11:52:29 GMT']
对于d in date\U STR:
打印(解析(d))
输出:

2021-04-04 13:32:26+02:00
2021-04-04 11:52:29+00:00
如果还有其他的日期格式没有涵盖,您可以存储由xml元素名称键入的特定python格式字符串