다음을 통해 공유


방법: 조정 규칙을 사용하지 않고 표준 시간대 만들기

업데이트: 2007년 11월

응용 프로그램에 필요한 정확한 표준 시간대 정보가 다음과 같은 몇 가지 원인 때문에 특정 시스템에 없을 수 있습니다.

  • 로컬 시스템의 레지스트리에서 표준 시간대를 정의하지 않았습니다.

  • 레지스트리에서 표준 시간대에 대한 데이터를 수정하거나 제거했습니다.

  • 표준 시간대가 있지만 중요한 특정 기간 동안의 표준 시간대 조정에 대한 정확한 정보가 없습니다.

이러한 경우 CreateCustomTimeZone 메서드를 호출하여 응용 프로그램에 필요한 표준 시간대를 정의할 수 있습니다. 이 메서드의 오버로드를 사용하면 조정 규칙을 사용하거나 사용하지 않고 표준 시간대를 만들 수 있습니다. 표준 시간대에서 일광 절약 시간을 지원하는 경우 고정 조정 규칙이나 유동 조정 규칙을 사용하여 조정을 정의할 수 있습니다. 이러한 용어에 대한 정의는 표준 시간대 개요에서 "표준 시간대 용어"를 참조하십시오.

중요:

CreateCustomTimeZone 메서드를 호출하여 만든 사용자 지정 표준 시간대는 레지스트리에 추가되지 않습니다. 대신 CreateCustomTimeZone 메서드 호출에서 반환되는 개체 참조를 통해서만 이러한 표준 시간대에 액세스할 수 있습니다.

이 항목에서는 조정 규칙을 사용하지 않고 표준 시간대를 만드는 방법을 보여 줍니다. 일광 절약 시간 조정 규칙을 지원하는 표준 시간대를 만들려면 방법: 조정 규칙을 사용하여 표준 시간대 만들기를 참조하십시오.

조정 규칙을 사용하지 않고 표준 시간대를 만들려면

  1. 표준 시간대의 표시 이름을 정의합니다.

    표시 이름은 표준 시간대의 UTC(협정 세계시) 오프셋을 괄호로 묶고 그 뒤에 표준 시간대를 식별하는 문자열, 해당 표준 시간대 내에 있는 하나 이상의 도시 또는 하나 이상의 국가나 지역이 오는 일반적인 형식을 따릅니다.

  2. 표준 시간대 표준 시간의 이름을 정의합니다. 일반적으로 이 문자열은 표준 시간대의 식별자로도 사용됩니다.

  3. 표준 시간대의 표준 이름과 다른 식별자를 사용하려면 표준 시간대 식별자를 정의합니다.

  4. 표준 시간대의 UTC 오프셋을 정의하는 TimeSpan 개체를 인스턴스화합니다. 시간이 UTC보다 늦은 표준 시간대의 오프셋은 양수이고 UTC보다 이른 표준 시간대의 오프셋은 음수입니다.

  5. TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String) 메서드를 호출하여 새 표준 시간대를 인스턴스화합니다.

예제

다음 예제에서는 남극 대륙 모슨에 대한 사용자 지정 표준 시간대를 조정 규칙 없이 정의합니다.

Dim displayName As String = "(GMT+06:00) Antarctica/Mawson Time"
Dim standardName As String = "Mawson Time" 
Dim offset As TimeSpan = New TimeSpan(06, 00, 00)
Dim mawson As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName)
Console.WriteLine("The current time is {0} {1}", _ 
                  TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, mawson), _
                  mawson.StandardName)      
string displayName = "(GMT+06:00) Antarctica/Mawson Time";
string standardName = "Mawson Time"; 
TimeSpan offset = new TimeSpan(06, 00, 00);
TimeZoneInfo mawson = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName);
Console.WriteLine("The current time is {0} {1}", 
                  TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, mawson),
                  mawson.StandardName);      

DisplayName 속성에 할당되는 문자열은 표준 시간대의 UTC 오프셋 다음에 표준 시간대에 대한 이해하기 쉬운 설명이 오는 표준 형식을 따릅니다.

코드 컴파일

이 예제에는 다음 사항이 필요합니다.

  • System.Core.dll에 대한 참조를 프로젝트에 추가해야 합니다.

  • 다음 네임스페이스를 가져와야 합니다.

    Imports System.Collections.Generic
    Imports System.Collections.ObjectModel
    
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    

참고 항목

작업

방법: 조정 규칙을 사용하여 표준 시간대 만들기

개념

표준 시간대 개요

기타 리소스

시간 및 표준 시간대