我试图使用 IMAP 从 Outlook 的收件箱中获取某个日期的电子邮件,但我收到的电子邮件的日期与我用于搜索的日期不符,我的代码如下:
SimpleDateFormat df1 = new SimpleDateFormat( "MM/dd/yy" );
String dt="10/02/18";
java.util.Date dDate = df1.parse(dt);
/*
Connection code to the email goes here
*/
SearchTerm st = new ReceivedDateTerm(ComparisonTerm.EQ,dDate);
IMAPFolder inbox = (IMAPFolder) store.getFolder("INBOX");
inbox.open(Folder.READ_WRITE);
Message[] messages = inbox.search(st);
int total = messages.length;
/* RESULTS */
println("\nTotal_Email = " + messages.length);
for (int index = 0; index < total; index++) {
Date date=message.getReceivedDate();
System.out.println("DATE RECEIVED="+date);
}
当我使用日期“10/01/18”时,我得到以下结果
Total_Email = 5
收到日期=周一 10 月 1 日 17:45:44 COT 2018
收到日期=周一 10 月 1 日 16:43:27 COT 2018
收到日期=周一 10 月 1 日 16:17:11 COT 2018
收到日期=周一 10 月 1 日 15:37:38 COT 2018
收到日期=周一 10 月 1 日 14:53:48 COT 2018
然后当我使用日期“10/02/18”时得到以下结果
Total_Email = 6
收到日期 = 2018 年 10 月 2 日星期二 08:09:53 COT
收到日期=周一 10 月 1 日 23:21:34 COT 2018
收到日期=周一 10 月 1 日 22:37:22 COT 2018
收到日期=周一 10 月 1 日 21:33:37 COT 2018
收到日期=周一 10 月 1 日 20:21:20 COT 2018
收到日期=周一 10 月 1 日 19:11:50 COT 2018
我的猜测是这与我的时区有关,我住在哥伦比亚,我的时区是 GMT-5,有什么办法可以修复并获得正确的结果?
DIEA
相关分类