我有一个格式为Fri, 15 Apr 2016 20:45:51 +0300
的Feed日期,我正在尝试将其转换为Django将接受的内容。
使用datetime
模块,我试过这个:
date = datetime.strptime(e['published'], "%a, %d %m %Y %H:%M:%S +0000")
错误
ValueError: time data 'Fri, 15 Apr 2016 20:45:51 +0300' does not match format '%a, %d %m %Y %H:%M:%S +0000'
答案 0 :(得分:3)
根据documentation使用缩写月份的%b
说明符和时区的%z
说明符:
>>> import datetime
>>> datetime.datetime.strptime('Fri, 15 Apr 2016 20:45:51 +0300', "%a, %d %b %Y %H:%M:%S %z")
datetime.datetime(2016, 4, 15, 20, 45, 51, tzinfo=datetime.timezone(datetime.timedelta(0, 10800)))
答案 1 :(得分:1)
您尝试转换的时间戳的UTC偏移量为+3,而您的模式仅考虑UTC时间。
无论时区如何,都会照顾它
date = datetime.strptime(e['published'], "%a, %d %b %Y %H:%M:%S %z")