Я пытаюсь получать электронные письма определенной даты из входящей почты в Outlook, используя IMAP, но я получаю электронные письма с датами, которые не соответствуют дате, которую я использую для своего поиска, мой код следующий:
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
ДАТА ПОЛУЧЕНА = Пн. 01 октября 17:45:44 COT2018
ДАТА ПОЛУЧЕНА = Пн 01 октября 16:43:27 COT 2018
ДАТА ПОЛУЧЕНА = Пн 01 октября 16:17:11 COT 2018
ДАТА ПОЛУЧЕНА = Пн Окт01 15:37:38 COT 2018
ДАТА ПОЛУЧЕНА = Пн 01 октября 14:53:48 COT 2018
И тогда я получаю следующий результат, когда я использую дату "10/ 02/18 "
Total_Email = 6
ДАТА ПОЛУЧЕНА = Вт 02 октября 08:09:53 COT 2018
ДАТА ПОЛУЧЕНА = Пн 01 октября 23:21:34 COT 2018
ДАТА ПОЛУЧЕНА = Пн 01 октября 22:37:22 COT 2018
ДАТА ПОЛУЧЕНА = Пн 01 октября 21:33:37 COT 2018
DATEПОЛУЧЕНО = понедельник, 01 октября 20:21:20 COT 2018
ДАТА ПОЛУЧЕНА = Пн 01 октября 19:11:50 COT 2018
Я предполагаю, что это связано с моим часовым поясом, я живу в Колумбии, и мой часовой пояс GMT-5, IsЕсть ли способ исправить и получить правильные результаты?