ReadOnlyCollection<TimeZoneInfo> zones = TimeZoneInfo.GetSystemTimeZones(); Console.WriteLine("The local system has the following {0} time zones", zones.Count); foreach (TimeZoneInfo zone in zones) Console.WriteLine(zone.Id);
The result is in a format that this, which also takes care of DST (Daylight saving time): 2012-07-02T02:12:00.0000000+02:00 (input --> 02-07-2012 02:12) 2012-02-28T14:00:00.0000000+01:00 (input --> 28-02-2012 14:00)