Determine cómo calcular tiempos en diferentes zonas horarias usando nodaTime y withZone en ZoneDateTime

Al convertir tiempos entre zonas horarias. Encontré que funciona el siguiente código. Sin embargo, no estoy seguro de cómo programar qué poner como mi compensación para el constructor para elZonedDateTime. Tuve la opción de una de las compensaciones en zoneChicago, que son solo dos, ya sea con nuestro horario de verano, pero ¿cómo puedo saber cuál uso, y para las zonas horarias que tienen más de dos, cuál es la mejor? ¿Cómo poblar ese desplazamiento?

Gracias,

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);

Respuestas a la pregunta(1)

Su respuesta a la pregunta