Determine como calcular os horários em diferentes fusos horários usando nodaTime e withZone em ZoneDateTime

Ao converter tempos entre fusos horários. Eu encontrei o código a seguir funciona. No entanto, não tenho certeza de como programaticamente o que colocar como meu deslocamento para o construtor para oZonedDateTime. Eu tive uma escolha de um dos offsets na zonaChicago, que é apenas dois, porque é com o nosso sem horário de verão, mas como eu sei qual deles eu uso, e para fusos horários que tem mais do que apenas dois, qual é o melhor maneira de preencher esse deslocamento?

Obrigado,

Jim

var zoneLA      = c.GetZoneOrNull("America/Los_Angeles");
var zoneChicago = c.GetZoneOrNull("America/Chicago");

var zdtChicago = new ZonedDateTime( LocalDateTime.FromDateTime(DateTime.Now)
                                  , zoneChicago
                                  , zoneChicago.MaxOffset);

var zdtLA = zdtChicago.WithZone(zoneLA);

questionAnswers(1)

yourAnswerToTheQuestion