산속 시간대는 .NET (적어도 Windows 8 설치시)에는 2 개의 영역이있는 것처럼 보입니다.
당신이 사용하고 있고 DST (애리조나를위한 것입니다.)와 일반 "산지 표준시"를 준수하지 않는 "US Mountain Standard Time"이 있습니다. 은입니다. DST를 준수합니다. 그래서 그냥 "미국"부분을 제거 할 필요가 작동합니다
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를 클라이언트의 시간대로 변환 하시겠습니까? –