import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.OffsetDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class Main {
	public static void main(String[] args) {
		ZoneId zoneIdLosAngeles = ZoneId.of("America/Los_Angeles");
		ZonedDateTime zdtNowLosAngeles = ZonedDateTime.now(zoneIdLosAngeles);
		System.out.println(zdtNowLosAngeles);

		// With zone offset but without time zone name
		OffsetDateTime odtNowLosAngeles = zdtNowLosAngeles.toOffsetDateTime();
		System.out.println(odtNowLosAngeles);

		// ################ A winter date-time ################
		ZonedDateTime zdtLosAngelesWinter = ZonedDateTime
				.of(LocalDateTime.of(LocalDate.of(2021, 11, 20), LocalTime.of(10, 20)), zoneIdLosAngeles);
		System.out.println(zdtLosAngelesWinter); // 2021-11-20T10:20-08:00[America/Los_Angeles]
		System.out.println(zdtLosAngelesWinter.toOffsetDateTime()); // 2021-11-20T10:20-08:00
	}
}