/* package whatever; // don't place package name! */
 
import java.util.*;
import java.lang.*;
import java.io.*;
 
import java.time.* ;
 
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	{
 
// Do not use `Temporal`. Use the concrete classes, per design of java.time.
 
// Represent the person’s birth-moment.
LocalDate ld = LocalDate.of( 2000 , Month.JANUARY , 23 ) ;
LocalTime lt = LocalTime.of( 3 , 45 ) ;
ZoneId z = ZoneId.of( "Pacific/Auckland" ) ;
ZonedDateTime zdt = ZonedDateTime.of( ld , lt , z ) ;
 
// Adjust to UTC, if you care to.
Instant instant = zdt.toInstant() ;
 
// Define the billions seconds as a `Duration`, a span of time unattached to the timeline.
Duration d = Duration.ofSeconds( 1_000_000_000L ) ;  
 
// Addition.
ZonedDateTime zdtLater = zdt.plus( d ) ;
 
// Or, in UTC. Same moment as the `ZonedDateTime` but different wall-clock time.
Instant instantLater = instant.plus( d ) ;
 
System.
out.
println( "zdt.toString(): " + zdt 
) ; System.
out.
println( "instant.toString(): " + instant 
) ; System.
out.
println( "d.toString(): " + d 
) ; System.
out.
println( "zdtLater.toString(): " + zdtLater 
) ; System.
out.
println( "instantLater.toString(): " + instantLater 
) ;  
	}
}
				LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS50aW1lLiogOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCi8vIERvIG5vdCB1c2UgYFRlbXBvcmFsYC4gVXNlIHRoZSBjb25jcmV0ZSBjbGFzc2VzLCBwZXIgZGVzaWduIG9mIGphdmEudGltZS4KCi8vIFJlcHJlc2VudCB0aGUgcGVyc29u4oCZcyBiaXJ0aC1tb21lbnQuCkxvY2FsRGF0ZSBsZCA9IExvY2FsRGF0ZS5vZiggMjAwMCAsIE1vbnRoLkpBTlVBUlkgLCAyMyApIDsKTG9jYWxUaW1lIGx0ID0gTG9jYWxUaW1lLm9mKCAzICwgNDUgKSA7ClpvbmVJZCB6ID0gWm9uZUlkLm9mKCAiUGFjaWZpYy9BdWNrbGFuZCIgKSA7ClpvbmVkRGF0ZVRpbWUgemR0ID0gWm9uZWREYXRlVGltZS5vZiggbGQgLCBsdCAsIHogKSA7CgovLyBBZGp1c3QgdG8gVVRDLCBpZiB5b3UgY2FyZSB0by4KSW5zdGFudCBpbnN0YW50ID0gemR0LnRvSW5zdGFudCgpIDsKCi8vIERlZmluZSB0aGUgYmlsbGlvbnMgc2Vjb25kcyBhcyBhIGBEdXJhdGlvbmAsIGEgc3BhbiBvZiB0aW1lIHVuYXR0YWNoZWQgdG8gdGhlIHRpbWVsaW5lLgpEdXJhdGlvbiBkID0gRHVyYXRpb24ub2ZTZWNvbmRzKCAxXzAwMF8wMDBfMDAwTCApIDsgIAoKLy8gQWRkaXRpb24uClpvbmVkRGF0ZVRpbWUgemR0TGF0ZXIgPSB6ZHQucGx1cyggZCApIDsKCi8vIE9yLCBpbiBVVEMuIFNhbWUgbW9tZW50IGFzIHRoZSBgWm9uZWREYXRlVGltZWAgYnV0IGRpZmZlcmVudCB3YWxsLWNsb2NrIHRpbWUuCkluc3RhbnQgaW5zdGFudExhdGVyID0gaW5zdGFudC5wbHVzKCBkICkgOwoKU3lzdGVtLm91dC5wcmludGxuKCAiemR0LnRvU3RyaW5nKCk6ICIgKyB6ZHQgKSA7ClN5c3RlbS5vdXQucHJpbnRsbiggImluc3RhbnQudG9TdHJpbmcoKTogIiArIGluc3RhbnQgKSA7ClN5c3RlbS5vdXQucHJpbnRsbiggImQudG9TdHJpbmcoKTogIiArIGQgKSA7ClN5c3RlbS5vdXQucHJpbnRsbiggInpkdExhdGVyLnRvU3RyaW5nKCk6ICIgKyB6ZHRMYXRlciApIDsKU3lzdGVtLm91dC5wcmludGxuKCAiaW5zdGFudExhdGVyLnRvU3RyaW5nKCk6ICIgKyBpbnN0YW50TGF0ZXIgKSA7CgoJfQp9