import
java.util.regex.*;
class
GFG {
public
static
boolean
isValid_DateTime(String str)
{
String regex
=
"^([0-9]{4})-((01|02|03|04|05|06|07|08|09|10|11|12|"
+
"(?:J(anuary|u(ne|ly))|February|Ma(rch|y)|"
+
"A(pril|ugust)|(Jan|Feb|Mar|Apr|May|Jun|Jul|"
+
"Aug|Sep|Oct|Nov|Dec)|(JANUARY|FEBRUARY|MARCH|"
+
"APRIL|MAY|JUNE|JULY|AUGUST|SEPTEMBER|OCTOBER|"
+
"NOVEMBER|DECEMBER)|(September|October|November|"
+
"December)|(jan|feb|mar|apr|may|jun|jul|aug|sep|"
+
"oct|nov|dec)|(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP"
+
"|OCT|NOV|DEC)))|(january|february|march|april|may|"
+
"june|july|august|september|october|november|december))"
+
"-([0-3][0-9])\\s([0-1][0-9]|[2][0-3]):([0-5][0-9])"
+
":([0-5][0-9])$"
;
Pattern p = Pattern.compile(regex);
if
(str ==
null
) {
return
false
;
}
Matcher m = p.matcher(str);
return
m.matches();
}
public
static
void
main(String args[])
{
String str1 =
"2023-01-01 01:01:01"
;
System.out.println(isValid_DateTime(str1));
String str2 =
"1998-07-12 18:01:01"
;
System.out.println(isValid_DateTime(str2));
String str3 =
"1998-07-12"
;
System.out.println(isValid_DateTime(str3));
String str4 =
"12/07/1998 12:00:00"
;
System.out.println(isValid_DateTime(str4));
String str5 =
"1998-13-12 23:01:01"
;
System.out.println(isValid_DateTime(str5));
}
}