import java.time.Instant ;
import java.time.LocalDateTime ;
import java.time.ZonedDateTime ;
import java.time.ZoneId ;
public class Main {
public static void main
( String [ ] args
) { System .
out .
println ( "Local Europe/Madrid: " + LocalDateTime.
now ( ZoneId.
of ( "Europe/Madrid" ) ) ) ; System .
out .
println ( "Local system default: " + LocalDateTime.
now ( ZoneId.
systemDefault ( ) ) ) ; System .
out .
println ( "Zoned Europe/Madrid: " + ZonedDateTime.
now ( ZoneId.
of ( "Europe/Madrid" ) ) ) ; System .
out .
println ( "Zoned system default: " + ZonedDateTime.
now ( ZoneId.
systemDefault ( ) ) ) ; Instant instant = Instant.now ( ) ;
System .
out .
println ( "Local of Instant Europe/Madrid: " + LocalDateTime.
ofInstant ( instant, ZoneId.
of ( "Europe/Madrid" ) ) ) ; System .
out .
println ( "Local of Instant system default: " + LocalDateTime.
ofInstant ( instant, ZoneId.
systemDefault ( ) ) ) ; System .
out .
println ( "Zoned of Instant Europe/Madrid: " + ZonedDateTime.
ofInstant ( instant, ZoneId.
of ( "Europe/Madrid" ) ) ) ; System .
out .
println ( "Zoned of Instant system default: " + ZonedDateTime.
ofInstant ( instant, ZoneId.
systemDefault ( ) ) ) ; }
}
aW1wb3J0IGphdmEudGltZS5JbnN0YW50OwppbXBvcnQgamF2YS50aW1lLkxvY2FsRGF0ZVRpbWU7CmltcG9ydCBqYXZhLnRpbWUuWm9uZWREYXRlVGltZTsKaW1wb3J0IGphdmEudGltZS5ab25lSWQ7CgpwdWJsaWMgY2xhc3MgTWFpbiB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJMb2NhbCBFdXJvcGUvTWFkcmlkOiAiICsgTG9jYWxEYXRlVGltZS5ub3coWm9uZUlkLm9mKCJFdXJvcGUvTWFkcmlkIikpKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkxvY2FsIHN5c3RlbSBkZWZhdWx0OiAiICsgTG9jYWxEYXRlVGltZS5ub3coWm9uZUlkLnN5c3RlbURlZmF1bHQoKSkpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWm9uZWQgRXVyb3BlL01hZHJpZDogIiArIFpvbmVkRGF0ZVRpbWUubm93KFpvbmVJZC5vZigiRXVyb3BlL01hZHJpZCIpKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJab25lZCBzeXN0ZW0gZGVmYXVsdDogIiArIFpvbmVkRGF0ZVRpbWUubm93KFpvbmVJZC5zeXN0ZW1EZWZhdWx0KCkpKTsKICAgICAgICBJbnN0YW50IGluc3RhbnQgPSBJbnN0YW50Lm5vdygpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTG9jYWwgb2YgSW5zdGFudCBFdXJvcGUvTWFkcmlkOiAiICsgTG9jYWxEYXRlVGltZS5vZkluc3RhbnQoaW5zdGFudCwgWm9uZUlkLm9mKCJFdXJvcGUvTWFkcmlkIikpKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIkxvY2FsIG9mIEluc3RhbnQgc3lzdGVtIGRlZmF1bHQ6ICIgKyBMb2NhbERhdGVUaW1lLm9mSW5zdGFudChpbnN0YW50LCBab25lSWQuc3lzdGVtRGVmYXVsdCgpKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJab25lZCBvZiBJbnN0YW50IEV1cm9wZS9NYWRyaWQ6ICIgKyBab25lZERhdGVUaW1lLm9mSW5zdGFudChpbnN0YW50LCBab25lSWQub2YoIkV1cm9wZS9NYWRyaWQiKSkpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiWm9uZWQgb2YgSW5zdGFudCBzeXN0ZW0gZGVmYXVsdDogIiArIFpvbmVkRGF0ZVRpbWUub2ZJbnN0YW50KGluc3RhbnQsIFpvbmVJZC5zeXN0ZW1EZWZhdWx0KCkpKTsKICAgIH0KfQ==