मैं आईएमएपी का उपयोग कर दृष्टिकोण में एक इनबॉक्स से एक निश्चित तारीख के ईमेल प्राप्त करने की कोशिश कर रहा हूं, लेकिन मुझे उन तारीखों से ईमेल मिल रहे हैं जो मेरी खोज के लिए उपयोग की जाने वाली तारीख से मेल नहीं खाते हैं, मेरा कोड निम्न है:

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" दिनांक का उपयोग करता हूं तो मुझे निम्न परिणाम मिल रहा है

टोटल_ईमेल = 5

दिनांक प्राप्त = सोम अक्टूबर 01 17:45:44 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 16:43:27 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 16:17:11 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 15:37:38 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 14:53:48 सीओटी 2018

और फिर जब मैं "10/02/18" दिनांक का उपयोग करता हूं तो मुझे निम्न परिणाम मिल रहा है

टोटल_ईमेल = 6

दिनांक प्राप्त = मंगलवार 02 अक्टूबर 08:09:53 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 23:21:34 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 22:37:22 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 21:33:37 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 20:21:20 सीओटी 2018

दिनांक प्राप्त = सोम अक्टूबर 01 19:11:50 सीओटी 2018

मेरा अनुमान है कि इसका मेरे टाइमज़ोन से कोई लेना-देना नहीं है, मैं कोलंबिया में रहता हूँ और मेरा टाइमज़ोन GMT-5 है, क्या इसे ठीक करने और सही परिणाम प्राप्त करने का कोई तरीका है?

0
Omega Kewt 3 अक्टूबर 2018, 19:54

1 उत्तर

सबसे बढ़िया उत्तर

नहीं, IMAP समय क्षेत्र से अवगत नहीं है, और यह सर्वर विशिष्ट है कि यह किस समय क्षेत्र की गणना करता है और परिणामों की रिपोर्ट करता है। आपको आवश्यकता से अधिक अनुरोध करने और क्लाइंट साइड फ़िल्टरिंग करने की आवश्यकता हो सकती है।

अधिकांश बड़े बहुराष्ट्रीय सर्वर सुविधा के लिए यूटीसी का उपयोग करते हैं, इसलिए आपको अपनी रुचि की अवधि को ओवरलैप करते हुए दो दिन लाने होंगे।

2
Max 3 अक्टूबर 2018, 17:16