import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
import java.util.stream.Stream;
public class Main {
public static void main
(String[] args
) { String pattern
= "[uuuu-MM-dd'T'HH:mm:ss.SSSXX][uuuu-MM-dd'T'HH:mm:ss.SSSXXX]"; DateTimeFormatter dtf
= DateTimeFormatter.
ofPattern(pattern,
Locale.
ENGLISH);
// Test
Stream.of(
"2015-04-29T10:15:00.500+0000",
"2015-04-29T10:15:00.500+00:00",
"2015-04-29T10:15:00.500Z"
).
forEach(s
-> System.
out.
println(OffsetDateTime.
parse(s, dtf
))); }
}
aW1wb3J0IGphdmEudGltZS4qOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC5EYXRlVGltZUZvcm1hdHRlcjsKaW1wb3J0IGphdmEudXRpbC5Mb2NhbGU7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLlN0cmVhbTsKCnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBTdHJpbmcgcGF0dGVybiA9ICJbdXV1dS1NTS1kZCdUJ0hIOm1tOnNzLlNTU1hYXVt1dXV1LU1NLWRkJ1QnSEg6bW06c3MuU1NTWFhYXSI7CiAgICAgICAgRGF0ZVRpbWVGb3JtYXR0ZXIgZHRmID0gRGF0ZVRpbWVGb3JtYXR0ZXIub2ZQYXR0ZXJuKHBhdHRlcm4sIExvY2FsZS5FTkdMSVNIKTsKCiAgICAgICAgLy8gVGVzdAogICAgICAgIFN0cmVhbS5vZigKICAgICAgICAgICAgICAgICIyMDE1LTA0LTI5VDEwOjE1OjAwLjUwMCswMDAwIiwKICAgICAgICAgICAgICAgICIyMDE1LTA0LTI5VDEwOjE1OjAwLjUwMCswMDowMCIsCiAgICAgICAgICAgICAgICAiMjAxNS0wNC0yOVQxMDoxNTowMC41MDBaIgogICAgICAgICkuZm9yRWFjaChzIC0+IFN5c3RlbS5vdXQucHJpbnRsbihPZmZzZXREYXRlVGltZS5wYXJzZShzLCBkdGYpKSk7CiAgICB9Cn0=