/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.time.*;
import java.time.format.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
ZoneId zoneParis = ZoneId.of( "Europe/Paris" );
ZoneId zoneMontreal = ZoneId.of( "America/Montreal" );
ZoneId zoneAuckland = ZoneId.of( "Pacific/Auckland" );
OffsetDateTime odt = OffsetDateTime.parse( "2015-07-09T05:10:00+02:00" );
Instant instant = odt.toInstant(); // `Instant` is always in UTC by definition.
ZonedDateTime zdtParis = odt.atZoneSameInstant( zoneParis );
ZonedDateTime zdtMontreal = odt.atZoneSameInstant( zoneMontreal );
ZonedDateTime zdtAuckland = zdtMontreal.withZoneSameInstant( zoneAuckland );
DateTimeFormatter f
= DateTimeFormatter.
ofLocalizedDateTime( FormatStyle.
FULL ).
withLocale( Locale.
CANADA_FRENCH ); String output
= zdtMontreal.
format( f
);
System.
out.
println( "odt.toString(): " + odt
); System.
out.
println( "instant.toString(): " + instant
); System.
out.
println( "zdtParis.toString(): " + zdtParis
); System.
out.
println( "zdtMontreal.toString(): " + zdtMontreal
); System.
out.
println( "zdtAuckland.toString(): " + zdtAuckland
); System.
out.
println( "output: " + output
);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLio7CmltcG9ydCBqYXZhLnRpbWUuZm9ybWF0Lio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoKCVpvbmVJZCB6b25lUGFyaXMgPSBab25lSWQub2YoICJFdXJvcGUvUGFyaXMiICk7CiAgICBab25lSWQgem9uZU1vbnRyZWFsID0gWm9uZUlkLm9mKCAiQW1lcmljYS9Nb250cmVhbCIgKTsKICAgIFpvbmVJZCB6b25lQXVja2xhbmQgPSBab25lSWQub2YoICJQYWNpZmljL0F1Y2tsYW5kIiApOwoKICAgIE9mZnNldERhdGVUaW1lIG9kdCA9IE9mZnNldERhdGVUaW1lLnBhcnNlKCAiMjAxNS0wNy0wOVQwNToxMDowMCswMjowMCIgKTsKICAgIEluc3RhbnQgaW5zdGFudCA9IG9kdC50b0luc3RhbnQoKTsgIC8vIGBJbnN0YW50YCBpcyBhbHdheXMgaW4gVVRDIGJ5IGRlZmluaXRpb24uCgogICAgWm9uZWREYXRlVGltZSB6ZHRQYXJpcyA9IG9kdC5hdFpvbmVTYW1lSW5zdGFudCggem9uZVBhcmlzICk7CiAgICBab25lZERhdGVUaW1lIHpkdE1vbnRyZWFsID0gb2R0LmF0Wm9uZVNhbWVJbnN0YW50KCB6b25lTW9udHJlYWwgKTsKICAgIFpvbmVkRGF0ZVRpbWUgemR0QXVja2xhbmQgPSB6ZHRNb250cmVhbC53aXRoWm9uZVNhbWVJbnN0YW50KCB6b25lQXVja2xhbmQgKTsKCiAgICBEYXRlVGltZUZvcm1hdHRlciBmID0gRGF0ZVRpbWVGb3JtYXR0ZXIub2ZMb2NhbGl6ZWREYXRlVGltZSggRm9ybWF0U3R5bGUuRlVMTCApLndpdGhMb2NhbGUoIExvY2FsZS5DQU5BREFfRlJFTkNIICk7CiAgICBTdHJpbmcgb3V0cHV0ID0gemR0TW9udHJlYWwuZm9ybWF0KCBmICk7CgogICAgU3lzdGVtLm91dC5wcmludGxuKCAib2R0LnRvU3RyaW5nKCk6ICIgKyBvZHQgKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggImluc3RhbnQudG9TdHJpbmcoKTogIiArIGluc3RhbnQgKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggInpkdFBhcmlzLnRvU3RyaW5nKCk6ICIgKyB6ZHRQYXJpcyApOwogICAgU3lzdGVtLm91dC5wcmludGxuKCAiemR0TW9udHJlYWwudG9TdHJpbmcoKTogIiArIHpkdE1vbnRyZWFsICk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJ6ZHRBdWNrbGFuZC50b1N0cmluZygpOiAiICsgemR0QXVja2xhbmQgKTsKICAgIFN5c3RlbS5vdXQucHJpbnRsbiggIm91dHB1dDogIiArIG91dHB1dCApOwoKCX0KfQ==