如何检查日期之间发送了多少电子邮件?

2024-04-20 07:46:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我想数一数在特定日期之间发送了多少封电子邮件。日期标题如下所示:

Date: Tue, 20 Jan 2015 15:00:37 +0000

当计算其他事物时,我会这样编码,在计数中加上一个:

if msg['From'] == 'example@example.com':
 count+=1

然而,当我必须计算在特定日期之间发送了多少电子邮件时,这就变得很困难了。会不会是这样:

日期1=2015年1月18日星期二15:00:37 日期2=2015年1月23日星期三15:00:37

if msg['Date'] < date2 and msg['Date'] > date1:
 count+=1

我不认为python会认出它是日期。因此>;<;运算符将不起作用?你知道吗


Tags: fromcom标题编码dateifexamplecount
1条回答
网友
1楼 · 发布于 2024-04-20 07:46:34

可以使用dateutil或datetime将字符串解析为datetime对象并比较:

from dateutil import parser

date1= "Tue, 18 Jan 2015 15:00:37"
date2="Wed, 23 Jan 2015 15:00:37"
date1 = parser.parse(date1)
date2 = parser.parse(date2)
msg = {"Date": "Tue, 19 Jan 2015 15:00:37 +0000"}
if date2 >= parser.parse(msg['Date']).replace(tzinfo=None)  > date1:
     print msg['Date']

您需要pip install python-dateutil,因为它不在标准库中。你知道吗

日期字符串似乎包含时区,但date1和date2不包含,因此无法比较偏移感知和偏移原始日期时间。你知道吗

相关问题 更多 >