मेरे पास दो टाइमस्टैम्प हैं जो दो अलग-अलग प्रारूपों में समय के समान तत्काल का वर्णन करते हैं।समय क्षेत्र के साथ जोडा के साथ पार्सिंग तिथि
2010-10-03 18:58:07
और 2010-10-03T16:58:07.000+02:00
।
मैं जोडा के साथ दो अलग-अलग दिनांक स्वरूपकों के साथ टाइमस्टैम्प को पार्स करता हूं। अंत में मैं दो डेटटाइम ऑब्जेक्ट्स रखना चाहता हूं जो समय के समान तत्काल होने के मामले में बराबर हैं।
डेटफॉर्मेटर समय क्षेत्र और लोकेशंस को नियंत्रित करने के लिए कई विधियों की पेशकश करता है लेकिन मैं इसे काम नहीं कर सका।
final String date1 = "2010-10-03 18:58:07"; // Europe/Berlin local time
final DateTimeFormatter formatter1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
final DateTime dateTime1 = formatter1.parseDateTime(date1);
final String date2 = "2010-10-03T16:58:07.000+02:00"; // Europe/Berlin local time with time zone
final DateTimeFormatter formatter2 = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
final DateTime dateTime2 = formatter2.parseDateTime(date2);
Assert.assertTrue(dateTime1.isEqual(dateTime2));
अग्रिम धन्यवाद अगर किसी को मेरी मदद कर सकते हैं:
इस कोड है कि मैं काम करने के लिए चाहते हैं!
आपके पास "2010-10-03T16: 58: 07.000 + 02: 00 का एक प्रकार है जिसका मतलब है कि यह समय क्षेत्र में 16:58:07 नहीं है, जीएमटी से +2 घंटे ऑफसेट के साथ)"। इसे पढ़ना चाहिए: "2010-10-03T16: 58: 07.000 + 02: 00 का मतलब है कि यह समय क्षेत्र में 16:58:07 है जो यूटीसी से +2 घंटे ऑफसेट के साथ है)" – MicSim
हां, मुझे उम्मीद है कि यह 16 हो : 58: 07 जीएमटी। फिर ऐसा लगता है कि टाइमस्टैम्प अभी टूटा हुआ है। ये विभिन्न सर्वरों की दो अलग-अलग लॉग फ़ाइलों से टाइमस्टैम्प हैं। और मुझे पूरा यकीन है कि वे एक ही घटना निर्दिष्ट करते हैं। तो यह मेरा भ्रम आया था। – wilfried
@MacSim: निश्चित रूप से, मैंने वहां थोड़ा तेज़ लिखा था। – jarnbjo