import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
public class Main {
public static void main
(String[] args
) { List<String> unparsedDates = new ArrayList<String>();
unparsedDates.add("6 July 1892");
unparsedDates.add("9 May 1915");
unparsedDates.add("February 335");
unparsedDates.add("1768-02-12");
unparsedDates.add("23 september 63 bc");
unparsedDates.add("19 august ad 14");
for (String unparsedDate
: unparsedDates
) { try {
Date parsedDate
= DateParser.
getParsedDate(unparsedDate
); System.
out.
println(df.
format(parsedDate
)); System.
err.
println(ex.
getMessage()); }
}
}
}
class DateParser {
public static Date getParsedDate
(String unparsedDate
) { try {
Date parsedDate
= dateFormat.
parse(unparsedDate
); return parsedDate;
}
}
}
}
aW1wb3J0IGphdmEudGV4dC5EYXRlRm9ybWF0OwppbXBvcnQgamF2YS50ZXh0LlBhcnNlRXhjZXB0aW9uOwppbXBvcnQgamF2YS50ZXh0LlNpbXBsZURhdGVGb3JtYXQ7CmltcG9ydCBqYXZhLnV0aWwuQXJyYXlMaXN0OwppbXBvcnQgamF2YS51dGlsLkRhdGU7CmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKaW1wb3J0IGphdmEudXRpbC5Mb2NhbGU7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CgogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIExpc3Q8U3RyaW5nPiB1bnBhcnNlZERhdGVzID0gbmV3IEFycmF5TGlzdDxTdHJpbmc+KCk7CiAgICAgICAgdW5wYXJzZWREYXRlcy5hZGQoIjYgSnVseSAxODkyIik7CiAgICAgICAgdW5wYXJzZWREYXRlcy5hZGQoIjkgTWF5IDE5MTUiKTsKICAgICAgICB1bnBhcnNlZERhdGVzLmFkZCgiRmVicnVhcnkgMzM1Iik7CiAgICAgICAgdW5wYXJzZWREYXRlcy5hZGQoIjE3NjgtMDItMTIiKTsKICAgICAgICB1bnBhcnNlZERhdGVzLmFkZCgiMjMgc2VwdGVtYmVyIDYzIGJjIik7CiAgICAgICAgdW5wYXJzZWREYXRlcy5hZGQoIjE5IGF1Z3VzdCBhZCAxNCIpOwoKICAgICAgICBEYXRlRm9ybWF0IGRmID0gbmV3IFNpbXBsZURhdGVGb3JtYXQoInl5eXktTU0tZGQgRyIsIExvY2FsZS5FTkdMSVNIKTsKICAgICAgICBmb3IgKFN0cmluZyB1bnBhcnNlZERhdGUgOiB1bnBhcnNlZERhdGVzKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBEYXRlIHBhcnNlZERhdGUgPSBEYXRlUGFyc2VyLmdldFBhcnNlZERhdGUodW5wYXJzZWREYXRlKTsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihkZi5mb3JtYXQocGFyc2VkRGF0ZSkpOwogICAgICAgICAgICB9IGNhdGNoIChJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24gZXgpIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5lcnIucHJpbnRsbihleC5nZXRNZXNzYWdlKCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgpjbGFzcyBEYXRlUGFyc2VyIHsKCiAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBMb2NhbGUgbG9jYWxlID0gTG9jYWxlLkVOR0xJU0g7CiAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBEYXRlRm9ybWF0W10gZGF0ZUZvcm1hdHMgPSB7CiAgICAgICAgbmV3IFNpbXBsZURhdGVGb3JtYXQoImRkIE1NTU0geXl5eSBHIiwgbG9jYWxlKSwKICAgICAgICBuZXcgU2ltcGxlRGF0ZUZvcm1hdCgiZGQgTU1NTSBHIHl5eXkiLCBsb2NhbGUpLAogICAgICAgIG5ldyBTaW1wbGVEYXRlRm9ybWF0KCJ5eXl5LU1NLWRkIiwgbG9jYWxlKSwKICAgICAgICBuZXcgU2ltcGxlRGF0ZUZvcm1hdCgiTU1NTSB5eXl5IiwgbG9jYWxlKSwKICAgICAgICBuZXcgU2ltcGxlRGF0ZUZvcm1hdCgiZGQgTU1NTSB5eXl5IiwgbG9jYWxlKX07CgogICAgcHVibGljIHN0YXRpYyBEYXRlIGdldFBhcnNlZERhdGUoU3RyaW5nIHVucGFyc2VkRGF0ZSkgewogICAgICAgIGZvciAoRGF0ZUZvcm1hdCBkYXRlRm9ybWF0IDogZGF0ZUZvcm1hdHMpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIERhdGUgcGFyc2VkRGF0ZSA9IGRhdGVGb3JtYXQucGFyc2UodW5wYXJzZWREYXRlKTsKICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWREYXRlOwogICAgICAgICAgICB9IGNhdGNoIChQYXJzZUV4Y2VwdGlvbiBleCkgewogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHRocm93IG5ldyBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24oIkNhbm5vdCBwYXJzZSBwcm92aWRlZCBkYXRlOiAiICsgdW5wYXJzZWREYXRlKTsKICAgIH0KfQ==