Określ sposób obliczania czasów w różnych strefach czasowych za pomocą nodaTime i withZone w ZoneDateTime

Podczas konwersji czasów między strefami czasowymi. Znalazłem następujący kod działa. Jednak nie jestem pewien, jak programowo, co umieścić jako moje przesunięcie dla konstruktora dlaZonedDateTime. Miałem do wyboru jeden z offsetu na zoneChicago, który jest tylko dwa, ponieważ jest albo z naszym bez oszczędności światła dziennego, ale skąd mam wiedzieć, którego używam, i dla stref czasowych, które mają więcej niż tylko dwa, co jest najlepsze sposób na wypełnienie tego przesunięcia?

Dzięki,

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