.NETには少なくとも山岳時間である2つのゾーンがあるようです。
あなたが使用しているDST(アリゾナのためのもの)と平野の "Mountain Standard Time"はありません。は DSTを観察しています。だから、あなただけの「US」の部分を取り除くために、それが動作する必要があります。
using System;
class Test
{
static void Main()
{
DateTime octoberUtc = new DateTime(2012, 10, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime decemberUtc = new DateTime(2012, 12, 1, 0, 0, 0, DateTimeKind.Utc);
ConvertToMountainTime(octoberUtc);
ConvertToMountainTime(decemberUtc);
}
static void ConvertToMountainTime(DateTime utc)
{
DateTime mountain = TimeZoneInfo.ConvertTimeBySystemTimeZoneId
(utc, "Mountain Standard Time");
Console.WriteLine("{0} (UTC) = {1} Mountain time", utc, mountain);
}
}
は出力(UKカルチャー):
01/10/2012 00:00:00 (UTC) = 30/09/2012 18:00:00 Mountain time
01/12/2012 00:00:00 (UTC) = 30/11/2012 17:00:00 Mountain time
特に山にUTCを変換するために、あなたの目標であるか、それがありますUTCをクライアントのタイムゾーンに変換しますか? –