将日期字符串(从gmail转换为时间戳)| Python

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

我想将接收自Gmail帐户的电子邮件的接收日期保存到时间序列数据库中。

问题是我无法将从电子邮件中获得的字符串转换为时间戳。

我尝试过:

from datetime import datetime

date1 = 'Thu, 28 May 2020 08:15:58 -0700 (PDT)'

date1_obj = datetime.strptime(date1, '%a, %d %b %Y %H:%M:%S %z %Z')

print(date1_obj)

但是出现此错误:

追踪(最近通话):文件“ /format_date.py”,第11行,在date1_obj = datetime.strptime(date1,'%a,%d%b%Y%H:%M:%S%z%Z')文件“ /usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/_strptime.py”,第577行,位于_strptime_datetime中tt,分数,gmtoff_fraction = _strptime(数据字符串,格式)_strptime中的文件“ /usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/_strptime.py”,第359行(data_string,格式)ValueError:时间数据'2020年5月28日,星期四08:15:58 -0700(PDT)'与格式'%a,%d%b%Y%H:%M:%S%z%Z'不匹配

[尝试使用或不使用括号括起来的时区。阅读很多东西,但没有什么有关如何处理包含“(PDT)”或任何其他时区的日期字符串的知识。获取正确的日期非常重要...如果我在不带“(PDT)”的情况下运行相同的代码,则时间不正确(因为我的本地时间)。

我知道我可以使用字符串方法来操纵它并将其转换为正确的日期时间,但是我觉得这很灵活。

对不起,我的英语水平太低。

谢谢!

我想将来自gmail帐户的电子邮件的接收日期保存到时间序列数据库中。问题是我无法将电子邮件中的字符串转换为时间戳。我试过了:...

python datetime gmail utc iso8601
2个回答
0
投票

[关闭,您忘了将括号放在最后一个条目的周围。


0
投票

如果即使将%Z括在方括号中也不起作用,则问题出在%Z指令之内https://docs.python.org/3/library/time.html

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