import java.time.DateTimeException;
import java.time.Instant;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import java.util.stream.Stream;
public class Main {
public static void main
(String[] args
) { Stream.of(
"So., 18 Juli 2021 15:24:00 +0200",
"ven., 16 avr. 2021 15:24:00 +0200",
"vr, 16 apr. 2021 15:24:00 +0200",
"vr, 16 07 2021 15:24:00 +0200"
).forEach(s -> {
Stream.of(
).forEach( locale -> {
try {
System.
out.
println("Parsed '" + s
+ "' using the locale, " + locale
+ " => " + parseToInstant
(s, locale
)); }catch(DateTimeException e) {
//....
}
});
});
}
static Instant parseToInstant
(String strDateTime,
Locale locale
) { return DateTimeFormatter.ofPattern("E, d [MMMM][MMM][M] u H:m:s Z").withLocale(locale).parse(strDateTime,
Instant::from);
}
}
aW1wb3J0IGphdmEudGltZS5EYXRlVGltZUV4Y2VwdGlvbjsKaW1wb3J0IGphdmEudGltZS5JbnN0YW50OwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC5EYXRlVGltZUZvcm1hdHRlcjsKaW1wb3J0IGphdmEudXRpbC5Mb2NhbGU7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLlN0cmVhbTsKCgpwdWJsaWMgY2xhc3MgTWFpbiB7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJU3RyZWFtLm9mKAoJCQkJIlNvLiwgMTggSnVsaSAyMDIxIDE1OjI0OjAwICswMjAwIiwKCQkJCSJ2ZW4uLCAxNiBhdnIuIDIwMjEgMTU6MjQ6MDAgKzAyMDAiLAoJCQkJInZyLCAxNiBhcHIuIDIwMjEgMTU6MjQ6MDAgKzAyMDAiLAoJCQkJInZyLCAxNiAwNyAyMDIxIDE1OjI0OjAwICswMjAwIgoJCSkuZm9yRWFjaChzIC0+IHsKCQkJU3RyZWFtLm9mKAoJCQkJCUxvY2FsZS5HRVJNQU5ZLAoJCQkJCUxvY2FsZS5GUkFOQ0UsCgkJCQkJbmV3IExvY2FsZSgibmwiLCAiTkwiKQoJCQkpLmZvckVhY2goIGxvY2FsZSAtPiB7CgkJCQl0cnkgewoJCQkJCVN5c3RlbS5vdXQucHJpbnRsbigiUGFyc2VkICciICsgcyArICInIHVzaW5nIHRoZSBsb2NhbGUsICIgKyBsb2NhbGUgKyAiID0+ICIgKyBwYXJzZVRvSW5zdGFudChzLCBsb2NhbGUpKTsKCQkJCX1jYXRjaChEYXRlVGltZUV4Y2VwdGlvbiBlKSB7CgkJCQkJLy8uLi4uCgkJCQl9CgkJCX0pOwoJCX0pOwoJfQoKCXN0YXRpYyBJbnN0YW50IHBhcnNlVG9JbnN0YW50KFN0cmluZyBzdHJEYXRlVGltZSwgTG9jYWxlIGxvY2FsZSkgewoJCXJldHVybiBEYXRlVGltZUZvcm1hdHRlci5vZlBhdHRlcm4oIkUsIGQgW01NTU1dW01NTV1bTV0gdSBIOm06cyBaIikud2l0aExvY2FsZShsb2NhbGUpLnBhcnNlKHN0ckRhdGVUaW1lLAoJCQkJSW5zdGFudDo6ZnJvbSk7Cgl9Cn0=
Parsed 'So., 18 Juli 2021 15:24:00 +0200' using the locale, de_DE => 2021-07-18T13:24:00Z
Parsed 'ven., 16 avr. 2021 15:24:00 +0200' using the locale, fr_FR => 2021-04-16T13:24:00Z
Parsed 'vr, 16 apr. 2021 15:24:00 +0200' using the locale, nl_NL => 2021-04-16T13:24:00Z
Parsed 'vr, 16 07 2021 15:24:00 +0200' using the locale, nl_NL => 2021-07-16T13:24:00Z