我正在尝试从电子邮件中检索日期.起初它很容易:
message = email.parser.Parser().parse(file)
date = message['Date']
print date
Run Code Online (Sandbox Code Playgroud)
我收到:
'Mon, 16 Nov 2009 13:32:02 +0100'
Run Code Online (Sandbox Code Playgroud)
但我需要一个不错的日期时间对象,所以我使用:
datetime.strptime('Mon, 16 Nov 2009 13:32:02 +0100', '%a, %d %b %Y %H:%M:%S %Z')
Run Code Online (Sandbox Code Playgroud)
提升了ValueError, since %Z isn't format for +0100.但我在文档中找不到适当的时区格式,只有这个%Z区域.有人可以帮助我吗?
我试图将字符串转换为日期时间对象.我从新闻Feed获得的字符串采用以下格式:"星期四,2014年10月16日01:16:17 EDT"
我尝试使用datetime.strptime()来转换它.即
datetime.strptime('Thu, 16 Oct 2014 01:16:17 EDT','%a, %d %b %Y %H:%M:%S %Z')
Run Code Online (Sandbox Code Playgroud)
并得到以下错误:
回溯(最近一次调用最后一次):
文件"",第1行,在datetime.strptime('星期四,2014年10月16日01:16:17 EDT','%a,%d%b%Y%H:%M: %S%Z')
文件"C:\ Anaconda\lib_strptime.py",第325行,在_strptime(data_string,format)中)
ValueError:时间数据'星期四,2014年10月16日01:16:17 EDT'格式不匹配'%a,%d%b%Y%H:%M:%S%Z'
但是,如果我尝试没有"EDT"的字符串,它就可以了.即
datetime.strptime('Thu, 16 Oct 2014 01:16:17','%a, %d %b %Y %H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解析"EDT"部分?