public static void Main()
string NAConfig = "Central Standard Time";
string EUConfig = "Central Europe Standard Time";
string CNConfig = "China Standard Time";
DateTime utcTime = DateTime.UtcNow;
Console.WriteLine("UTC NOW");
Console.WriteLine("NA Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, NAConfig));
Console.WriteLine("EU Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, EUConfig));
Console.WriteLine("CN Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, CNConfig));
utcTime = new DateTime(2016, 11, 6);
Console.WriteLine("\nUTC 2016-11-06");
Console.WriteLine("NA Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, NAConfig));
Console.WriteLine("EU Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, EUConfig));
Console.WriteLine("CN Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, CNConfig));
utcTime = new DateTime(2016, 11, 7);
Console.WriteLine("\nUTC 2016-11-07");
Console.WriteLine("NA Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, NAConfig));
Console.WriteLine("EU Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, EUConfig));
Console.WriteLine("CN Time: {0}", ConvertDateTimeToLocalTimeZone(utcTime, CNConfig));
public static DateTime ConvertDateTimeToLocalTimeZone(DateTime utcTime, string timeZoneId)
TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
return TimeZoneInfo.ConvertTimeFromUtc(utcTime, timeZone);