मुझे समझ में नहीं आता कि क्यों MutableDateTime.setDate()
"कल" को समय निर्धारित कर रहा है (लॉग टाइमस्टैम्प घंटे देखें - यह 20:28 है)। क्या यह टाइमज़ोन संबंधित है? क्या मुझे फॉर्मेटर पर कुछ सेट करने की ज़रूरत है?जोडा समय MutableDateTime के उदाहरण से 24 घंटों घटा रहा है, मैं जानना चाहता हूं कि
मुझे उम्मीद है कि "10/27/2010" के साथ सेटडेट को कॉल करने के बाद, दिनांक 20:28 ईडीटी 10/26/के बजाय पार्स की तारीख 00:00 ईडीटी 10/27/10 जैसा ही होगा, 10। यह 24 घंटे पहले "अब" से है।
मुझे यहां क्या याद आ रही है, या वांछित परिणाम प्राप्त करने के लिए मुझे कोड को कैसे संपादित करना चाहिए? मैं जोदा समय के लिए नया हूं, और इस रहस्य को हल करना चाहता हूं।
DateTimeFormatter dateFormatterJ = DateTimeFormat.forPattern("MM/dd/yyyy");
DateTimeFormatter timestampFormatJ = DateTimeFormat.forPattern("HH:mm zzz MM/dd/yy");
MutableDateTime startDate = new MutableDateTime();
log.info("parsed date " +
timestampFormatJ.print(dateFormatterJ.parseMutableDateTime(startDateString)));
startDate.setDate((dateFormatterJ.parseMutableDateTime(startDateString)));
log.info("startDate: " + timestampFormatJ.print(startDate));
इस मामले में, startDateString
बस है "2010/10/27"। ,
10-27 20:28:55 INFO parsed date: 00:00 EDT 10/27/10
10-27 20:28:55 INFO startDate: 20:28 EDT 10/26/10
धन्यवाद
+ "parseLocalDate" + joda के लिए एक google जून से एक ही Google समूह पोस्ट देता है और जीडब्ल्यूटी में कुछ कोड। मैंने स्रोत को देखने से पहले ज़ोन() के साथ इसका उपयोग करने का प्रयास किया और नतीजा वही है। ऐसा लगता है कि मैं एक जोन निर्दिष्ट करता हूं, भले ही MutableDateTime में कोड इसे मेरे क्रोनोलॉजी पर देखता है, फिर इसे म्यूटेबलडेट टाइम के टाइमज़ोन में स्थानांतरित करने के बजाय इसे यूटीसी में बदल देता है। – Affe