public static void Main()
var timezones = TimeZoneInfo.GetSystemTimeZones();
var date1 = new DateTime(2015, 1, 15);
var date2 = new DateTime(2015, 7, 15);
Console.WriteLine(String.Format("{0,-31} {1,-61} {2,-31} {3,-31} {4,-13} {5,-20} {6,-20} ","Id", "Display Name", "Standard Name", "Daylight Name", "Supports DST", "UTC Standard Offset", "UTC Daylight Offset"));
Console.WriteLine(String.Format("{0}", "".PadRight(212, '-')));
foreach (var timezone in timezones)
var o1 = timezone.GetUtcOffset(date1);
var o2 = timezone.GetUtcOffset(date2);
o1String = o1.ToString(@"\-hh\:mm");
o1String = o1.ToString(@"\+hh\:mm");
o2String = o2.ToString(@"\-hh\:mm");
o2String = o2.ToString(@"\+hh\:mm");
Console.WriteLine(String.Format("{0,-31} {1,-61} {2,-31} {3,-31} {4,-13} {5,-20} {6,-20} ",
timezone.SupportsDaylightSavingTime ? "Yes" : "No",