import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.util.Locale;
public class Main {
static final DateTimeFormatter fmt = new DateTimeFormatterBuilder()
.append(DateTimeFormatter.ISO_LOCAL_DATE)
.appendLiteral(' ')
.append(DateTimeFormatter.ISO_LOCAL_TIME)
.appendPattern(" XX VV")
public static void main
(String[] args
) { OffsetDateTime odt = OffsetDateTime.parse("2019-06-20 12:18:07.207 +0000 UTC", fmt);
// Let's say the target time zone is America/New_York
ZoneId zoneId = ZoneId.of("America/New_York");
ZonedDateTime zdtNY = odt.atZoneSameInstant(zoneId);
LocalDateTime ldtNY = zdtNY.toLocalDateTime();
}
}
aW1wb3J0IGphdmEudGltZS4qOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC5EYXRlVGltZUZvcm1hdHRlcjsKaW1wb3J0IGphdmEudGltZS5mb3JtYXQuRGF0ZVRpbWVGb3JtYXR0ZXJCdWlsZGVyOwppbXBvcnQgamF2YS51dGlsLkxvY2FsZTsKCnB1YmxpYyBjbGFzcyBNYWluIHsKICAgIHN0YXRpYyBmaW5hbCBEYXRlVGltZUZvcm1hdHRlciBmbXQgPSBuZXcgRGF0ZVRpbWVGb3JtYXR0ZXJCdWlsZGVyKCkKICAgICAgICAgICAgLmFwcGVuZChEYXRlVGltZUZvcm1hdHRlci5JU09fTE9DQUxfREFURSkKICAgICAgICAgICAgLmFwcGVuZExpdGVyYWwoJyAnKQogICAgICAgICAgICAuYXBwZW5kKERhdGVUaW1lRm9ybWF0dGVyLklTT19MT0NBTF9USU1FKQogICAgICAgICAgICAuYXBwZW5kUGF0dGVybigiIFhYIFZWIikKICAgICAgICAgICAgLnRvRm9ybWF0dGVyKExvY2FsZS5FTkdMSVNIKTsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgT2Zmc2V0RGF0ZVRpbWUgb2R0ID0gT2Zmc2V0RGF0ZVRpbWUucGFyc2UoIjIwMTktMDYtMjAgMTI6MTg6MDcuMjA3ICswMDAwIFVUQyIsIGZtdCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG9kdCk7CgogICAgICAgIC8vIExldCdzIHNheSB0aGUgdGFyZ2V0IHRpbWUgem9uZSBpcyBBbWVyaWNhL05ld19Zb3JrCiAgICAgICAgWm9uZUlkIHpvbmVJZCA9IFpvbmVJZC5vZigiQW1lcmljYS9OZXdfWW9yayIpOwogICAgICAgIFpvbmVkRGF0ZVRpbWUgemR0TlkgPSBvZHQuYXRab25lU2FtZUluc3RhbnQoem9uZUlkKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oemR0TlkpOwogICAgICAgIExvY2FsRGF0ZVRpbWUgbGR0TlkgPSB6ZHROWS50b0xvY2FsRGF0ZVRpbWUoKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4obGR0TlkpOwogICAgfQp9