/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.* ;
import java.time.format.* ;
import java.time.temporal.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
List< DateTimeFormatter > formatters =
DateTimeFormatter.ofPattern( "MM-dd-uuuu" ) , // 01-23-2019
DateTimeFormatter.ISO_LOCAL_DATE , // 2019-01-23
DateTimeFormatter.ofPattern( "uuuu/MM/dd" ) // 2019/01/23
)
;
"01-23-2019" ,
"2019-01-23" ,
"2019/01/23" ,
"banana"
)
;
for( String input
: inputs
) { LocalDate localDate = null ;
for( DateTimeFormatter formatter : formatters )
{
try{
localDate = LocalDate.parse( input , formatter ) ;
} catch ( DateTimeParseException e ) {
// Ignoring exception, as it is expected.
}
}
if( Objects.isNull( localDate ) )
{ // Deal with unexpected input
System.
out.
println( "ERROR: Unexpected input: " + input
) ; } else {
System.
out.
println( "Input: " + input
+ " ➙ " + localDate.
toString() ) ; }
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC4qIDsKaW1wb3J0IGphdmEudGltZS50ZW1wb3JhbC4qIDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgpMaXN0PCBEYXRlVGltZUZvcm1hdHRlciA+IGZvcm1hdHRlcnMgPSAKICAgIExpc3Qub2YoCiAgICAgICAgRGF0ZVRpbWVGb3JtYXR0ZXIub2ZQYXR0ZXJuKCAiTU0tZGQtdXV1dSIgKSAsICAvLyAwMS0yMy0yMDE5CiAgICAgICAgRGF0ZVRpbWVGb3JtYXR0ZXIuSVNPX0xPQ0FMX0RBVEUgLCAgICAgICAgICAgICAvLyAyMDE5LTAxLTIzCiAgICAgICAgRGF0ZVRpbWVGb3JtYXR0ZXIub2ZQYXR0ZXJuKCAidXV1dS9NTS9kZCIgKSAgICAvLyAyMDE5LzAxLzIzCiAgICApCjsKCkxpc3Q8IFN0cmluZyA+IGlucHV0cyA9IAogICAgTGlzdC5vZigKICAgIAkiMDEtMjMtMjAxOSIgLCAKICAgIAkiMjAxOS0wMS0yMyIgLAogICAgCSIyMDE5LzAxLzIzIiAsCiAgICAJImJhbmFuYSIKICAgICkKOwoKZm9yKCBTdHJpbmcgaW5wdXQgOiBpbnB1dHMgKSB7CglMb2NhbERhdGUgbG9jYWxEYXRlID0gbnVsbCA7Cglmb3IoIERhdGVUaW1lRm9ybWF0dGVyIGZvcm1hdHRlciA6IGZvcm1hdHRlcnMgKSAKCXsKICAgICAgICB0cnl7CiAgICAgICAgICAgIGxvY2FsRGF0ZSA9IExvY2FsRGF0ZS5wYXJzZSggaW5wdXQgLCBmb3JtYXR0ZXIgKSA7CiAgICAgICAgfSBjYXRjaCAoIERhdGVUaW1lUGFyc2VFeGNlcHRpb24gZSApIHsKICAgICAgICAgICAgLy8gSWdub3JpbmcgZXhjZXB0aW9uLCBhcyBpdCBpcyBleHBlY3RlZC4gCiAgICAgICAgfQoJfQoJaWYoIE9iamVjdHMuaXNOdWxsKCBsb2NhbERhdGUgKSApIAoJeyAvLyBEZWFsIHdpdGggdW5leHBlY3RlZCBpbnB1dCAKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJFUlJPUjogVW5leHBlY3RlZCBpbnB1dDogIiArIGlucHV0ICkgOwoJfSBlbHNlIHsKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJJbnB1dDogIiArIGlucHV0ICsgIiDinpkgIiArIGxvY2FsRGF0ZS50b1N0cmluZygpICkgOwoJfQp9CgoKCgl9Cn0=