imapclient日期和时间不准确

时间:2015-11-01 02:58:22

标签: python python-3.x imapclient

我最近开始使用imapclient来从我的Yahoo!获取电子邮件帐户。该计划相对简单。它如下:

yahoo=imap.IMAPClient('imap.mail.yahoo.com', ssl=True)
yahoo.login('myusername', 'mypassword')# cant tell you my username and password, can I?
yahoo.select_folder('Inbox', readonly=True)
# so far, everything is going fine.
yahoo.search(['ON 1-Nov-2015'])

这就是问题所在。我已经在11月1日收到了大量的消息,该方法返回[]。它在我尝试的任何日期都不起作用。好像'ON'搜索根本不起作用。所以我尝试了另一种方法。

yahoo.search(['SINCE 1-Nov-2015'])

无论重启程序多少次,都会少于实际返回的电子邮件UID数量。所以我调查了一下,我认为这可能是问题所在:

yahoo.fetch(11636, 'BODY[]')

11636是一封时间戳,时间戳为11月1日上午10点20分。相反,返回值表明它是在11月1日凌晨2点20分收到的。我认为这是问题所在。

也许我弄错了,这就是问题所在。也许我做的事情非常糟糕。无论哪种方式,任何帮助或建议将不胜感激。

2 个答案:

答案 0 :(得分:1)

我使用datetime使其起作用

import datetime
yahoo.search([u'SINCE', datetime.date(2015, 11, 1)])

有一个较晚的答案,对此表示抱歉:/

答案 1 :(得分:0)

我认为ON和SINCE可能正在使用UTC,而您在标题中看到的时区是(某些)本地时间。尝试根据UTC查询,看看你是否得到了你期望的结果。