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,-62} {1,-32} {2,-32} {3,-15} {4,-20} {5,-20}", "Display Name", "Standard Name", "Daylight Name", "Supports DST", "UTC Standard Offset", "UTC Daylight Offset"));
Console.WriteLine(String.Format("{0}", "".PadRight(186, '-')));
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,-62} {1,-32} {2,-32} {3,-15} {4,-20} {5,-20}",
timezone.SupportsDaylightSavingTime ? "Yes" : "No",