C# 将多个时区转换为本地时间

C# 将多个时区转换为本地时间,c#,datetime,timezone,C#,Datetime,Timezone,我正在CST时区中保存日期时间,如何将CST日期时间更改为本地时间 例: 在DB中, 日期时间为2013-01-21 06:50:00,时区为CST。此日期时间应转换为本地当前时间。将其保存为UTC时间,然后在加载到UI时将其转换为本地时间。示例代码如下 using System; public class Example { public static void Main() { DateTime date1 = new DateTime(2010, 3, 14, 2, 30, 0,

我正在CST时区中保存日期时间,如何将CST日期时间更改为本地时间

例:

在DB中,
日期时间为2013-01-21 06:50:00,时区为CST。此日期时间应转换为本地当前时间。

将其保存为UTC时间,然后在加载到UI时将其转换为本地时间。

示例代码如下

using System;

public class Example
{
 public static void Main()
 {
  DateTime date1 = new DateTime(2010, 3, 14, 2, 30, 0, DateTimeKind.Local);
  Console.WriteLine("Invalid time: {0}", 
                    TimeZoneInfo.Local.IsInvalidTime(date1));
  DateTime utcDate1 = date1.ToUniversalTime();
  DateTime date2 = utcDate1.ToLocalTime();
  Console.WriteLine("{0} --> {1}", date1, date2);      
  }
 }
// The example displays the following output: 
//       Invalid time: True 
//   3/14/2010 2:30:00 AM --> 3/14/2010 3:30:00 AM

希望这有帮助

你关心夏令时吗?CST不是时区,它是缩写,而且不明确。现在是中国标准时间吗?古巴标准时间?中央标准时间(美国)、中央标准时间(澳大利亚)等等。我希望您在数据库中存储的不仅仅是“CST”。有关缩写的完整列表,请参阅。在本例中,您在哪里考虑到OP指定日期存储在CST中?