import java.time.LocalDate ;
import java.time.format.DateTimeFormatter ;
import java.time.format.DateTimeParseException ;
import java.time.format.ResolverStyle ;
import java.util.Locale ;
class Main {
public static void main
( String [ ] args
) { DateTimeFormatter parser
= DateTimeFormatter.
ofPattern ( "MM/dd/uuuu" ,
Locale .
ENGLISH ) .withResolverStyle ( ResolverStyle.STRICT ) ;
"12/31/2022" , // Will be parsed normally
"02/31/2022" // Will fail against ResolverStyle.STRICT check
} ;
try {
System .
out .
println ( "===========================" ) ; System .
out .
println ( "Trying to parse " + s
+ " using the format MM/dd/uuuu" ) ; System .
out .
println ( "Parsed to " + LocalDate.
parse ( s, parser
) ) ; } catch ( DateTimeParseException e) {
System .
out .
println ( e.
getMessage ( ) ) ; // throw e;
}
}
}
}
aW1wb3J0IGphdmEudGltZS5Mb2NhbERhdGU7CmltcG9ydCBqYXZhLnRpbWUuZm9ybWF0LkRhdGVUaW1lRm9ybWF0dGVyOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC5EYXRlVGltZVBhcnNlRXhjZXB0aW9uOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC5SZXNvbHZlclN0eWxlOwppbXBvcnQgamF2YS51dGlsLkxvY2FsZTsKCmNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIERhdGVUaW1lRm9ybWF0dGVyIHBhcnNlciA9IERhdGVUaW1lRm9ybWF0dGVyLm9mUGF0dGVybigiTU0vZGQvdXV1dSIsIExvY2FsZS5FTkdMSVNIKQogICAgICAgICAgICAgICAgLndpdGhSZXNvbHZlclN0eWxlKFJlc29sdmVyU3R5bGUuU1RSSUNUKTsKICAgICAgICBTdHJpbmcgYXJyW10gPSB7CiAgICAgICAgICAgICAgICAiMTIvMzEvMjAyMiIsIC8vIFdpbGwgYmUgcGFyc2VkIG5vcm1hbGx5CiAgICAgICAgICAgICAgICAiMDIvMzEvMjAyMiIgLy8gV2lsbCBmYWlsIGFnYWluc3QgUmVzb2x2ZXJTdHlsZS5TVFJJQ1QgY2hlY2sKICAgICAgICB9OwogICAgICAgIGZvciAoU3RyaW5nIHMgOiBhcnIpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiPT09PT09PT09PT09PT09PT09PT09PT09PT09Iik7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlRyeWluZyB0byBwYXJzZSAiICsgcyArICIgdXNpbmcgdGhlIGZvcm1hdCBNTS9kZC91dXV1Iik7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBhcnNlZCB0byAiICsgTG9jYWxEYXRlLnBhcnNlKHMsIHBhcnNlcikpOwogICAgICAgICAgICB9IGNhdGNoIChEYXRlVGltZVBhcnNlRXhjZXB0aW9uIGUpIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihlLmdldE1lc3NhZ2UoKSk7CiAgICAgICAgICAgICAgICAvLyB0aHJvdyBlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9