using System.Globalization;
using System.Collections.ObjectModel;
public static void Main()
DateTimeFormatInfo dateFormats = CultureInfo.CurrentCulture.DateTimeFormat;
ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo timeZone in timeZones)
bool hasDST = timeZone.SupportsDaylightSavingTime;
TimeSpan offsetFromUtc = timeZone.BaseUtcOffset;
TimeZoneInfo.AdjustmentRule[] adjustRules;
Console.WriteLine("ID: {0}", timeZone.Id);
Console.WriteLine(" Display Name: {0, 40}", timeZone.DisplayName);
Console.WriteLine(" Standard Name: {0, 39}", timeZone.StandardName);
Console.Write(" Daylight Name: {0, 39}", timeZone.DaylightName);
Console.WriteLine("Daylight Saving Time***");
offsetString = String.Format("{0} hours, {1} minutes", offsetFromUtc.Hours, offsetFromUtc.Minutes);
Console.WriteLine(" Offset from UTC: {0, 40}", offsetString);