import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class Main {
	public static void main(String[] args) {
		Instant now = Instant.now();

		ZonedDateTime zdtUsEastern = now.atZone(ZoneId.of("America/New_York"));
		System.out.println(zdtUsEastern);

		ZonedDateTime zdtUsCentral = now.atZone(ZoneId.of("America/Mexico_City"));
		System.out.println(zdtUsCentral);

		// If you have to deal with just one time zone, you can use ZonedDateTime
		// directly (i.e. without using Instant)
		ZonedDateTime zdtLondon = ZonedDateTime.now(ZoneId.of("Asia/Kolkata"));
		System.out.println(zdtLondon);

		// ZonedDateTime in JVM's time zone
		ZonedDateTime zdtJvmDefault = ZonedDateTime.now();
		System.out.println(zdtJvmDefault);
	}
}