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

Python 如何检查日期之间发送了多少封电子邮件?,python,Python,我想数一数在特定日期之间发送了多少封电子邮件。日期标题如下所示: Date: Tue, 20 Jan 2015 15:00:37 +0000 然而,当我不得不计算在特定日期之间发送了多少封电子邮件时,这就变得很困难了。会不会是这样的: 日期1=2015年1月18日星期二15:00:37 日期2=2015年1月23日星期三15:00:37 if msg['Date'] < date2 and msg['Date'] > date1: count+=1 如果消息['Date']dat

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

Date: Tue, 20 Jan 2015 15:00:37 +0000 然而,当我不得不计算在特定日期之间发送了多少封电子邮件时,这就变得很困难了。会不会是这样的:

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

if msg['Date'] < date2 and msg['Date'] > date1:
 count+=1
如果消息['Date']date1:
计数+=1

我认为python不会识别它是日期。因此,>或可以使用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安装python-dateutil
,因为它不在标准库中


您的日期字符串似乎包含时区,但date1和Date2不包含时区,因此您无法比较偏移量感知和偏移量原始日期时间。

检查这些日期是存储为字符串还是日期时间对象?字符串。这就是它不起作用的原因:(我如何将msg['Date']头变成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']