The following code can be used to validate if a string contains a valid date information. The pattern of the date is defined by the java.text.SimpleDateFormat
object. When the date is not valid a java.text.ParseException
will be thrown.
package org.kodejava.text;
import java.text.SimpleDateFormat;
import java.text.ParseException;
public class DateValidation {
public static void main(String[] args) {
SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
// Input to be parsed should strictly follow the defined date format
// above.
format.setLenient(false);
String date = "29/18/2021";
try {
format.parse(date);
} catch (ParseException e) {
System.out.println("Date " + date + " is not valid according to " +
format.toPattern() + " pattern.");
}
}
}
The result of the above date validation code is:
Date 29/18/2021 is not valid according to dd/MM/yyyy pattern.
Latest posts by Wayan (see all)
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024
- How do I sum a BigDecimal property of a list of objects using Java Stream API? - July 22, 2024
When I tested this code, I found that it was accepting the input “22/10/20” which ideally it shouldn’t because the year is not a 4 digit number.