/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
import java.time.* ;
import java.time.format.* ;
import java.time.temporal.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
OffsetDateTime odt = OffsetDateTime.now ( ) ;
OffsetDateTime odtTruncated = OffsetDateTime.now ( ) .truncatedTo ( ChronoUnit.MILLIS ) ;
System .
out .
println ( "odt.toString(): " + odt
) ; System .
out .
println ( "odtTruncated.toString(): " + odtTruncated
) ;
Instant instant = Instant.now ( ) ; // Current moment in UTC.
ZoneOffset offset = ZoneId.of ( "Asia/Kolkata" ) .getRules ( ) .getOffset ( instant ) ; // We must pass a moment. India is currently at five and a half hours ahead of UTC. But it has not always been so in the past, and may not always be so in the future.
OffsetDateTime odtKolkata = instant.atOffset ( offset ) ;
System .
out .
println ( "odtKolkata.toString(): " + odtKolkata
) ;
String output
= ZonedDateTime.
now ( ZoneId.
of ( "Asia/Kolkata" ) ) .
toOffsetDateTime ( ) .
toString ( ) ; System .
out .
println ( "output: " + output
) ; }
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwppbXBvcnQgamF2YS50aW1lLmZvcm1hdC4qIDsKaW1wb3J0IGphdmEudGltZS50ZW1wb3JhbC4qIDsKCi8qIE5hbWUgb2YgdGhlIGNsYXNzIGhhcyB0byBiZSAiTWFpbiIgb25seSBpZiB0aGUgY2xhc3MgaXMgcHVibGljLiAqLwpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJT2Zmc2V0RGF0ZVRpbWUgb2R0ID0gT2Zmc2V0RGF0ZVRpbWUubm93KCkgOwoJCU9mZnNldERhdGVUaW1lIG9kdFRydW5jYXRlZCA9IE9mZnNldERhdGVUaW1lLm5vdygpLnRydW5jYXRlZFRvKCBDaHJvbm9Vbml0Lk1JTExJUyApIDsKCQkKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJvZHQudG9TdHJpbmcoKTogIiArIG9kdCApIDsKCQlTeXN0ZW0ub3V0LnByaW50bG4oICJvZHRUcnVuY2F0ZWQudG9TdHJpbmcoKTogIiArIG9kdFRydW5jYXRlZCApIDsKCQkKCQlJbnN0YW50IGluc3RhbnQgPSBJbnN0YW50Lm5vdygpIDsgIC8vIEN1cnJlbnQgbW9tZW50IGluIFVUQy4KCQlab25lT2Zmc2V0IG9mZnNldCA9IFpvbmVJZC5vZiggIkFzaWEvS29sa2F0YSIgKS5nZXRSdWxlcygpLmdldE9mZnNldCggaW5zdGFudCApIDsgIC8vIFdlIG11c3QgcGFzcyBhIG1vbWVudC4gSW5kaWEgaXMgY3VycmVudGx5IGF0IGZpdmUgYW5kIGEgaGFsZiBob3VycyBhaGVhZCBvZiBVVEMuIEJ1dCBpdCBoYXMgbm90IGFsd2F5cyBiZWVuIHNvIGluIHRoZSBwYXN0LCBhbmQgbWF5IG5vdCBhbHdheXMgYmUgc28gaW4gdGhlIGZ1dHVyZS4KCQlPZmZzZXREYXRlVGltZSBvZHRLb2xrYXRhID0gaW5zdGFudC5hdE9mZnNldCggb2Zmc2V0ICkgOwoJCQoJCVN5c3RlbS5vdXQucHJpbnRsbiggIm9kdEtvbGthdGEudG9TdHJpbmcoKTogIiArIG9kdEtvbGthdGEgKSA7CgoJCVN0cmluZyBvdXRwdXQgPSBab25lZERhdGVUaW1lLm5vdyggWm9uZUlkLm9mKCAiQXNpYS9Lb2xrYXRhIiApICkudG9PZmZzZXREYXRlVGltZSgpLnRvU3RyaW5nKCkgOwoJCVN5c3RlbS5vdXQucHJpbnRsbiggIm91dHB1dDogIiArIG91dHB1dCApIDsKCX0KfQ==