SimpleDateFormat पार्स "YYYY-MM-dd HH:mm" गलत तरीके से
जब "YYYY-MM" प्रारूप में एक स्ट्रिंग को पार्स करने का प्रयास किया जाता है -dd HH:mm" को किसी दिनांक पर लागू करने पर, कुछ डेवलपर्स को अप्रत्याशित दिनांक परिणाम का सामना करना पड़ता है। ऐसा तब होता है जब SimpleDateFormat वर्ग का उपयोग उदार सेटिंग के साथ गलत पर सेट किया जाता है।
निम्न कोड स्निपेट समस्या को प्रदर्शित करता है:
Date newDate = null;
String dateTime = "2013-03-18 08:30";
SimpleDateFormat df = new SimpleDateFormat("YYYY-MM-dd HH:mm", Locale.ENGLISH);
df.setLenient(false);
try {
newDate = df.parse(dateTime);
} catch (ParseException e) {
throw new InvalidInputException("Invalid date input.");
}
यह कोड एक गलत तारीख उत्पन्न करता है:
Sun Dec 30 08:30:00 EST 2012 (wrong)
इस समस्या को हल करने के लिए, सत्यापित करें कि निर्दिष्ट वर्ष प्रारूप SimpleDateFormat पैटर्न में अपरकेस के बजाय लोअरकेस "yyyy" है "YYYY।"
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);
यह समायोजन करने से, कोड पार्स हो जाएगा "YYYY-MM-dd HH:mm" स्ट्रिंग सही ढंग से। अधिक जानकारी के लिए SimpleDateFormat दस्तावेज़ देखें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3