其实很简单 只是中文的google查不到。。
用TimeZoneInfo 这个方法就可以了~
以下是代码:
1 static void Main(string[] args)
2 {
3 // Get time in local time zone
4 DateTime thisTime = DateTime.Now;
5 Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(thisTime) ?
6 TimeZoneInfo.Local.DaylightName : TimeZoneInfo.Local.StandardName, thisTime);
7 Console.WriteLine(" UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(thisTime, TimeZoneInfo.Local));
8 // Get Fiji Standard Time zone
9 TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("Fiji Standard Time");
10 DateTime tstTime = TimeZoneInfo.ConvertTime(thisTime, TimeZoneInfo.Local, tst);
11 Console.WriteLine("Time in {0} zone: {1}", TimeZoneInfo.Local.IsDaylightSavingTime(tstTime) ?
12 tst.DaylightName : tst.StandardName, tstTime);
13 Console.WriteLine(" UTC Time: {0}", TimeZoneInfo.ConvertTimeToUtc(tstTime, tst));
14 }
其中第一个显示的是你计算机当前所显示的时区的时间。
第二个是显示 FIJI 这个国家的时间 这个国家是我从更换时区的选项中随便挑选的一个国家名。
也就是说 你
"Fiji Standard Time"
不是乱填的 前面的国家需要在时区选择的国家名里面有显示。