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

时间:2013-01-21 12:52:18

标签: c# datetime timezone

我在CST时区保存日期时间,如何将CST日期时间更改为当地时间。

例如:

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

示例代码就像

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

希望这有帮助