क्या कोई मुझे बता सकता है कि दिखाए गए इनपुट के लिए false
का मान वापस करने के लिए निम्न विधि कैसे प्राप्त करें? यह true
लौटा रहा है, जो कुछ मुझे उम्मीद नहीं है।एक अमान्य तिथि वास्तविक तिथि के रूप में सफलतापूर्वक पार क्यों करती है?
isDateValid("19/06/2012 5:00, 21:00","dd/MM/yyyy HH:mm")
मुझे लगता है कि इस false
लौट जाना चाहिए, लेकिन जाहिरा तौर पर जावा ऐसा लगता नहीं है। प्रदान की गई वास्तविक तिथि स्ट्रिंग में अंत में इन अतिरिक्त वर्ण शामिल हैं: ", 21:00"
।
public static boolean isDateValid(String date, String dateFormat)
{
try {
DateFormat df = new SimpleDateFormat(dateFormat);
df.setLenient(false);
Date newDate = df.parse(date);
System.out.println("Date value after checking for validity: " + newDate);
return true;
} catch (ParseException e) {
return false;
}
}