TimeZoneInfo.CreateCustomTimeZone 메서드

정의

로컬 컴퓨터에 없는 표준 시간대를 정의합니다.Defines a time zone that is not found on the local computer.

오버로드

CreateCustomTimeZone(String, TimeSpan, String, String)

지정된 식별자, UTC(협정 세계시)로부터의 오프셋, 표시 이름 및 표준 시간 표시 이름으로 사용자 지정 표준 시간대를 만듭니다.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, and a standard time display name.

CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[])

지정된 식별자, UTC(협정 세계시)로부터의 오프셋, 표시 이름, 표준 시간 이름, 일광 절약 시간 이름 및 일광 절약 시간 규칙으로 사용자 지정 표준 시간대를 만듭니다.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, and daylight saving time rules.

CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[], Boolean)

지정된 식별자, UTC(협정 세계시)로부터의 오프셋, 표시 이름, 표준 시간 이름, 일광 절약 시간 이름, 일광 절약 시간 규칙 및 반환된 개체가 일광 절약 시간 정보를 반영하는지 여부를 나타내는 값으로 사용자 지정 표준 시간대를 만듭니다.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, daylight saving time rules, and a value that indicates whether the returned object reflects daylight saving time information.

CreateCustomTimeZone(String, TimeSpan, String, String)

지정된 식별자, UTC(협정 세계시)로부터의 오프셋, 표시 이름 및 표준 시간 표시 이름으로 사용자 지정 표준 시간대를 만듭니다.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, and a standard time display name.

public:
 static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string? displayName, string? standardDisplayName);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName);
static member CreateCustomTimeZone : string * TimeSpan * string * string -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String) As TimeZoneInfo

매개 변수

id
String

표준 시간대의 식별자입니다.The time zone's identifier.

baseUtcOffset
TimeSpan

이 표준 시간대와 UTC(협정 세계시) 사이의 시간 차이를 나타내는 개체입니다.An object that represents the time difference between this time zone and Coordinated Universal Time (UTC).

displayName
String

새 표준 시간대의 표시 이름입니다.The display name of the new time zone.

standardDisplayName
String

새 표준 시간대 표준 시간의 이름입니다.The name of the new time zone's standard time.

반환

TimeZoneInfo

새 표준 시간대입니다.The new time zone.

예외

id 매개 변수가 null인 경우The id parameter is null.

id 매개 변수가 빈 문자열("")입니다.The id parameter is an empty string ("").

또는-or- baseUtcOffset 매개 변수가 전체 시간(분)을 나타내지 않습니다.The baseUtcOffset parameter does not represent a whole number of minutes.

baseUtcOffset 매개 변수가 14시간보다 크거나 -14시간보다 작습니다.The baseUtcOffset parameter is greater than 14 hours or less than -14 hours.

예제

다음 예제에서는 남극 대륙의 모슨 및 홈 베이 영역에 대 한 사용자 지정 표준 시간대를 만듭니다.The following example creates a custom time zone for the Mawson and Holme Bay regions of Antarctica. 그런 다음 현지 시간을 새 표준 시간대의 시간으로 변환한 결과를 표시 합니다.It then displays the result of converting the local time to the time in the new time zone.

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);      
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)      

설명

이 메서드의 오버 로드는 CreateCustomTimeZone(String, TimeSpan, String, String) 조정 되지 않는 표준 시간대를 만드는 데 적합 합니다 (즉, 일광 절약 시간을 지원 하지 않는 표준 시간대).This overload of the CreateCustomTimeZone(String, TimeSpan, String, String) method is suitable for creating a time zone that has no adjustments (that is, a time zone that does not support daylight saving time). 일광 절약 시간에 대 한 조정을 포함 하는 표준 시간대를 정의 하려면 TimeZoneInfo.CreateCustomTimeZone 또는 메서드를 사용 TimeZoneInfo.CreateCustomTimeZone 합니다.To define a time zone that includes adjustments for daylight saving time, use either the TimeZoneInfo.CreateCustomTimeZone or the TimeZoneInfo.CreateCustomTimeZone method.

다음 표에서는 메서드에 제공 되는 매개 변수와 TimeZoneInfo.CreateCustomTimeZone TimeZoneInfo 메서드 호출에서 반환 되는 개체의 속성 간 관계를 보여 줍니다.The following table shows the relationship between the parameters that are provided to the TimeZoneInfo.CreateCustomTimeZone method and the properties of the TimeZoneInfo object that are returned by the method call.

CreateCustomTimeZone 매개 변수CreateCustomTimeZone parameter TimeZoneInfo 속성TimeZoneInfo property
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName

일반적으로 표준 시간대의 표준 시간 이름과 해당 식별자는 동일 합니다.Typically, the time zone's standard time name and its identifier are the same. 그러나 표준 시간대의 식별자 길이는 32 자를 초과할 수 없습니다.However, the length of the time zone's identifier should not exceed 32 characters. 매개 변수에 전달 되는 문자열은 displayName 매우 일반적인 형식을 따릅니다.The string passed to the displayName parameter follows a fairly standard format. 표시 이름의 첫 부분은 협정 세계시에서 표준 시간대의 기본 오프셋입니다 .이 오프셋은 약어 GMT (그리니치 표준시)로 표시 되며 괄호로 묶여 있습니다.The first portion of the display name is the time zone's base offset from Coordinated Universal Time, which is indicated by the acronym GMT (for Greenwich Mean Time), enclosed in parentheses. 그 다음에는 표준 시간대를 식별 하는 문자열, 표준 시간대의 도시, 지역 또는 국가 중 하나 또는 둘 다가 있습니다.This is followed by a string that identifies the time zone itself, or one or more of the cities, regions, or countries in the time zone, or both. 예를 들면 다음과 같습니다.For example:

(GMT+02:00) Athens, Beirut, Istanbul, Minsk  
(GMT-02:00) Mid-Atlantic  
(GMT-07:00) Mountain Time (US & Canada)  

추가 정보

적용 대상

CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[])

지정된 식별자, UTC(협정 세계시)로부터의 오프셋, 표시 이름, 표준 시간 이름, 일광 절약 시간 이름 및 일광 절약 시간 규칙으로 사용자 지정 표준 시간대를 만듭니다.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, and daylight saving time rules.

public:
 static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName, System::String ^ daylightDisplayName, cli::array <TimeZoneInfo::AdjustmentRule ^> ^ adjustmentRules);
public static TimeZoneInfo? CreateCustomTimeZone (string? id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName, string daylightDisplayName, TimeZoneInfo.AdjustmentRule[]? adjustmentRules);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName, string daylightDisplayName, TimeZoneInfo.AdjustmentRule[] adjustmentRules);
static member CreateCustomTimeZone : string * TimeSpan * string * string * string * TimeZoneInfo.AdjustmentRule[] -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String, daylightDisplayName As String, adjustmentRules As TimeZoneInfo.AdjustmentRule()) As TimeZoneInfo

매개 변수

id
String

표준 시간대의 식별자입니다.The time zone's identifier.

baseUtcOffset
TimeSpan

이 표준 시간대와 UTC(협정 세계시) 사이의 시간 차이를 나타내는 개체입니다.An object that represents the time difference between this time zone and Coordinated Universal Time (UTC).

displayName
String

새 표준 시간대의 표시 이름입니다.The display name of the new time zone.

standardDisplayName
String

새 표준 시간대의 표준 시간 이름입니다.The new time zone's standard time name.

daylightDisplayName
String

새 표준 시간대의 일광 절약 시간 이름입니다.The daylight saving time name of the new time zone.

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

특정 기간의 기본 UTC 오프셋을 확대하는 배열입니다.An array that augments the base UTC offset for a particular period.

반환

TimeZoneInfo

새 표준 시간대를 나타내는 TimeZoneInfo 개체입니다.A TimeZoneInfo object that represents the new time zone.

예외

id 매개 변수가 null인 경우The id parameter is null.

id 매개 변수가 빈 문자열("")입니다.The id parameter is an empty string ("").

또는-or- baseUtcOffset 매개 변수가 전체 시간(분)을 나타내지 않습니다.The baseUtcOffset parameter does not represent a whole number of minutes.

baseUtcOffset 매개 변수가 14시간보다 크거나 -14시간보다 작습니다.The baseUtcOffset parameter is greater than 14 hours or less than -14 hours.

adjustmentRules 매개 변수 겹침에서 지정된 조정 규칙입니다.The adjustment rules specified in the adjustmentRules parameter overlap.

또는-or- adjustmentRules 매개 변수에서 지정된 조정 규칙은 시간 순서가 아닙니다.The adjustment rules specified in the adjustmentRules parameter are not in chronological order.

또는-or- adjustmentRules에서 하나 이상의 요소가 null입니다.One or more elements in adjustmentRules are null.

또는-or- 날짜에 여러 조정 규칙이 적용되었을 수 있습니다.A date can have multiple adjustment rules applied to it.

또는-or- adjustmentRules 배열에서 하나 이상의 개체에 대한 baseUtcOffset 매개 변수 및 DaylightDelta 값의 합계는 14시간보다 크거나 -14시간보다 작습니다.The sum of the baseUtcOffset parameter and the DaylightDelta value of one or more objects in the adjustmentRules array is greater than 14 hours or less than -14 hours.

예제

다음 예제에서는 Palmer 스테이션에 대 한 사용자 지정 표준 시간대와 남극 대륙의 안베어 아일랜드를 만듭니다.The following example creates a custom time zone for the Palmer station and Anvers Island in Antarctica. 그런 다음 현지 시간을 새 표준 시간대의 시간으로 변환 하 고 결과를 표시 합니다.It then converts the local time to the time in the new time zone and displays the result.

// Define transition times to/from DST
TimeZoneInfo.TransitionTime startTransition, endTransition;
startTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 4, 0, 0), 
                                                                  10, 2, DayOfWeek.Sunday); 
endTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 3, 0, 0), 
                                                                3, 2, DayOfWeek.Sunday);
// Define adjustment rule
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment;
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1999, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition);
// Create array for adjustment rules
TimeZoneInfo.AdjustmentRule[] adjustments = {adjustment};
// Define other custom time zone arguments
string displayName = "(GMT-04:00) Antarctica/Palmer Time";
string standardName = "Palmer Time";
string daylightName = "Palmer Daylight Time";
TimeSpan offset = new TimeSpan(-4, 0, 0);
TimeZoneInfo palmer = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments);
Console.WriteLine("The current time is {0} {1}",  
                  TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, palmer), 
                  palmer.StandardName);
' Define transition times to/from DST
Dim startTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#04:00:00#, 10, 2, DayOfWeek.Sunday) 
Dim endTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#3:00:00#, 3, 2, DayOfWeek.Sunday)
' Define adjustment rule
Dim delta As TimeSpan = New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#10/01/1999#, Date.MaxValue.Date, delta, startTransition, endTransition)
' Create array for adjustment rules
Dim adjustments() As TimeZoneInfo.AdjustmentRule = {adjustment}
' Define other custom time zone arguments
Dim DisplayName As String = "(GMT-04:00) Antarctica/Palmer Time"
Dim standardName As String = "Palmer Standard Time"
Dim daylightName As String = "Palmer Daylight Time"
Dim offset As TimeSpan = New TimeSpan(-4, 0, 0)
Dim palmer As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments)
Console.WriteLine("The current time is {0} {1}", _ 
                  TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, palmer), _
                  palmer.StandardName)

설명

이 메서드의 오버 로드 TimeZoneInfo.CreateCustomTimeZone 는 일광 절약 시간을 지 원하는 표준 시간대를 만드는 데 적합 합니다.This overload of the TimeZoneInfo.CreateCustomTimeZone method is suitable for creating a time zone that supports daylight saving time. 일광 절약 시간을 지원 하지 않는 표준 시간대를 정의 하려면 또는 메서드를 사용 TimeZoneInfo.CreateCustomTimeZone TimeZoneInfo.CreateCustomTimeZone 합니다.To define a time zone that does not support daylight saving time, use either the TimeZoneInfo.CreateCustomTimeZone or the TimeZoneInfo.CreateCustomTimeZone method.

다음 표에서는 메서드에 제공 되는 매개 변수와 TimeZoneInfo.CreateCustomTimeZone TimeZoneInfo 메서드 호출에서 반환 되는 개체의 멤버 간 관계를 보여 줍니다.The following table shows the relationship between the parameters that are provided to the TimeZoneInfo.CreateCustomTimeZone method and the members of the TimeZoneInfo object that are returned by the method call.

CreateCustomTimeZone 매개 변수CreateCustomTimeZone parameter TimeZoneInfo 멤버TimeZoneInfo member
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName
daylightDisplayName DaylightName
adjustmentRules System.TimeZoneInfo.AdjustmentRule메서드에서 반환 하는 개체의 배열입니다 GetAdjustmentRules .An array of System.TimeZoneInfo.AdjustmentRule objects returned by the GetAdjustmentRules method.

일반적으로 표준 시간대의 표준 시간 이름과 해당 식별자는 동일 합니다.Typically, the time zone's standard time name and its identifier are the same. 그러나 표준 시간대의 식별자 길이는 32 자를 초과할 수 없습니다.However, the length of the time zone's identifier should not exceed 32 characters. 매개 변수에 전달 되는 문자열은 displayName 매우 일반적인 형식을 따릅니다.The string passed to the displayName parameter follows a fairly standard format. 표시 이름의 첫 부분은 협정 세계시에서 표준 시간대의 기본 오프셋입니다 .이 오프셋은 약어 GMT (그리니치 표준시)로 표시 되며 괄호로 묶여 있습니다.The first portion of the display name is the time zone's base offset from Coordinated Universal Time, which is indicated by the acronym GMT (for Greenwich Mean Time), enclosed in parentheses. 그 다음에는 표준 시간대를 식별 하는 문자열, 표준 시간대의 도시, 지역 또는 국가 중 하나 또는 둘 다가 있습니다.This is followed by a string that identifies the time zone itself, or one or more of the cities, regions, or countries in the time zone, or both. 예를 들면 다음과 같습니다.For example:

(GMT+02:00) Athens, Beirut, Istanbul, Minsk  
(GMT-02:00) Mid-Atlantic  
(GMT-07:00) Mountain Time (US & Canada)  

baseUtcOffset매개 변수는 모든 표준 시간대 조정 규칙에 대 한 utc (협정 세계시)를 기준으로 사용자 지정 표준 시간대의 오프셋을 정의 합니다.The baseUtcOffset parameter defines the custom time zone's offset from Coordinated Universal Time (UTC) for all of the time zone's adjustment rules. 즉, TimeZoneInfo 개체 모델에서는 UTC의 표준 시간대 오프셋이 표준 시간대의 수명 기간 내내 일정 하 고 특정 조정 규칙에 관계 없이 존재 한다고 가정 합니다.In other words, the TimeZoneInfo object model assumes that the time zone's offset from UTC is constant throughout the life of the time zone, and exists independent of particular adjustment rules. UTC에서의 오프셋이 변경 된 표준 시간대를 반영 하려면 새 표준 시간대 개체를 만들어야 합니다.To reflect a time zone that has changed its offset from UTC, you must create a new time zone object.

표준 시간대의 조정 규칙은 다음을 수행 하 여 정의 됩니다.A time zone's adjustment rules are defined by doing the following:

  1. CreateFloatingDateRule또는 메서드를 호출 CreateFixedDateRule 하 여 각 조정 규칙에 대 한 시작 및 종료 전환 시간을 정의 합니다.Calling either the CreateFloatingDateRule or the CreateFixedDateRule method to define the starting and ending transition time for each adjustment rule.

  2. CreateAdjustmentRule각 조정 규칙에 대해 메서드를 호출 합니다.Calling the CreateAdjustmentRule method for each adjustment rule.

  3. 매개 변수로 전달 될 수 있는 배열에 조정 규칙을 할당 adjustmentRules 합니다.Assigning the adjustment rules to an array that can be passed as the adjustmentRules parameter.

추가 정보

적용 대상

CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[], Boolean)

지정된 식별자, UTC(협정 세계시)로부터의 오프셋, 표시 이름, 표준 시간 이름, 일광 절약 시간 이름, 일광 절약 시간 규칙 및 반환된 개체가 일광 절약 시간 정보를 반영하는지 여부를 나타내는 값으로 사용자 지정 표준 시간대를 만듭니다.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, daylight saving time rules, and a value that indicates whether the returned object reflects daylight saving time information.

public:
 static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName, System::String ^ daylightDisplayName, cli::array <TimeZoneInfo::AdjustmentRule ^> ^ adjustmentRules, bool disableDaylightSavingTime);
public static TimeZoneInfo? CreateCustomTimeZone (string? id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName, string daylightDisplayName, TimeZoneInfo.AdjustmentRule[]? adjustmentRules, bool disableDaylightSavingTime);
public static TimeZoneInfo CreateCustomTimeZone (string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName, string daylightDisplayName, TimeZoneInfo.AdjustmentRule[] adjustmentRules, bool disableDaylightSavingTime);
static member CreateCustomTimeZone : string * TimeSpan * string * string * string * TimeZoneInfo.AdjustmentRule[] * bool -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String, daylightDisplayName As String, adjustmentRules As TimeZoneInfo.AdjustmentRule(), disableDaylightSavingTime As Boolean) As TimeZoneInfo

매개 변수

id
String

표준 시간대의 식별자입니다.The time zone's identifier.

baseUtcOffset
TimeSpan

이 표준 시간대와 UTC(협정 세계시) 사이의 시간 차이를 나타내는 TimeSpan 개체입니다.A TimeSpan object that represents the time difference between this time zone and Coordinated Universal Time (UTC).

displayName
String

새 표준 시간대의 표시 이름입니다.The display name of the new time zone.

standardDisplayName
String

새 표준 시간대의 표준 시간 이름입니다.The standard time name of the new time zone.

daylightDisplayName
String

새 표준 시간대의 일광 절약 시간 이름입니다.The daylight saving time name of the new time zone.

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

특정 기간의 기본 UTC 오프셋을 확대하는 TimeZoneInfo.AdjustmentRule 개체의 배열입니다.An array of TimeZoneInfo.AdjustmentRule objects that augment the base UTC offset for a particular period.

disableDaylightSavingTime
Boolean

새 개체의 adjustmentRules에 있는 모든 일광 절약 시간 관련 정보를 삭제하려는 경우에는 true이고 그러지 않은 경우에는 false입니다.true to discard any daylight saving time-related information present in adjustmentRules with the new object; otherwise, false.

반환

TimeZoneInfo

새 표준 시간대입니다.The new time zone. disableDaylightSavingTime 매개 변수가 true이면 반환되는 개체에 일광 절약 시간 데이터가 없습니다.If the disableDaylightSavingTime parameter is true, the returned object has no daylight saving time data.

예외

id 매개 변수가 null인 경우The id parameter is null.

id 매개 변수가 빈 문자열("")입니다.The id parameter is an empty string ("").

또는-or- baseUtcOffset 매개 변수가 전체 시간(분)을 나타내지 않습니다.The baseUtcOffset parameter does not represent a whole number of minutes.

baseUtcOffset 매개 변수가 14시간보다 크거나 -14시간보다 작습니다.The baseUtcOffset parameter is greater than 14 hours or less than -14 hours.

adjustmentRules 매개 변수 겹침에서 지정된 조정 규칙입니다.The adjustment rules specified in the adjustmentRules parameter overlap.

또는-or- adjustmentRules 매개 변수에서 지정된 조정 규칙은 시간 순서가 아닙니다.The adjustment rules specified in the adjustmentRules parameter are not in chronological order.

또는-or- adjustmentRules에서 하나 이상의 요소가 null입니다.One or more elements in adjustmentRules are null.

또는-or- 날짜에 여러 조정 규칙이 적용되었을 수 있습니다.A date can have multiple adjustment rules applied to it.

또는-or- adjustmentRules 배열에서 하나 이상의 개체에 대한 baseUtcOffset 매개 변수 및 DaylightDelta 값의 합계는 14시간보다 크거나 -14시간보다 작습니다.The sum of the baseUtcOffset parameter and the DaylightDelta value of one or more objects in the adjustmentRules array is greater than 14 hours or less than -14 hours.

예제

다음 예제에서는 Palmer 스테이션에 대 한 사용자 지정 표준 시간대와 남극 대륙의 안베어 아일랜드를 만듭니다.The following example creates a custom time zone for the Palmer station and Anvers Island in Antarctica. disableDaylightSavingTime메서드에 대 한 호출에서 매개 변수를 TimeZoneInfo.CreateCustomTimeZone 로 설정 true 합니다.It sets the disableDaylightSavingTime parameter in the call to the TimeZoneInfo.CreateCustomTimeZone method to true. 그런 다음 새 표준 시간대의 일광 절약 시간 이름 (있는 경우)을 표시 하 고, 새 표준 시간대에 일광 절약 시간 정보가 없음을 확인 하는 조정 규칙의 수를 표시 합니다.It then displays the new time zone's daylight saving time name, if one is present, and the number of adjustment rules to confirm that the new time zone has no daylight saving time information.

// Define transition times to/from DST
TimeZoneInfo.TransitionTime startTransition, endTransition;
startTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 4, 0, 0),
                                                                  10, 2, DayOfWeek.Sunday); 
endTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1,3, 0, 0), 
                                                                3, 2, DayOfWeek.Sunday);
// Define adjustment rule
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1999, 10, 1), 
                                      DateTime.MaxValue.Date, delta, startTransition, endTransition);
// Create array for adjustment rules
TimeZoneInfo.AdjustmentRule[] adjustments = {adjustment};
// Define other custom time zone arguments
string displayName = "(GMT-04:00) Antarctica/Palmer Time";
string standardName = "Palmer Standard Time";
string daylightName = "Palmer Daylight Time";
TimeSpan offset = new TimeSpan(-4, 0, 0);
// Create custom time zone without copying DST information
TimeZoneInfo palmer = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, 
                                                  daylightName, adjustments, true);
// Indicate whether new time zone//s adjustment rules are present
Console.WriteLine("{0} {1}has {2} adjustment rules.", 
                  palmer.StandardName, 
                  ! (string.IsNullOrEmpty(palmer.DaylightName)) ?  "(" + palmer.DaylightName + ") ": "" , 
                  palmer.GetAdjustmentRules().Length);
// Indicate whether new time zone supports DST
Console.WriteLine("{0} supports DST: {1}", palmer.StandardName, palmer.SupportsDaylightSavingTime);
' Define transition times to/from DST
Dim startTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#04:00:00#, 10, 2, DayOfWeek.Sunday) 
Dim endTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#3:00:00#, 3, 2, DayOfWeek.Sunday)
' Define adjustment rule
Dim delta As TimeSpan = New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#10/01/1999#, Date.MaxValue.Date, delta, startTransition, endTransition)
' Create array for adjustment rules
Dim adjustments() As TimeZoneInfo.AdjustmentRule = {adjustment}
' Define other custom time zone arguments
Dim displayName As String = "(GMT-04:00) Antarctica/Palmer Time"
Dim standardName As String = "Palmer Standard Time"
Dim daylightName As String = "Palmer Daylight Time"
Dim offset As TimeSpan = New TimeSpan(-4, 0, 0)
Dim palmer As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments, True)
' Indicate whether new time zone's adjustment rules are present
Console.WriteLine("{0} {1}has {2} adjustment rules.", _
                  palmer.StandardName, _
                  IIf(Not String.IsNullOrEmpty(palmer.DaylightName), "(" & palmer.DaylightName & ") ", ""), _
                  palmer.GetAdjustmentRules().Length)
' Indicate whether new time zone supports DST
Console.WriteLine("{0} supports DST: {1}", palmer.StandardName, palmer.SupportsDaylightSavingTime)

설명

메서드의이 오버 로드 TimeZoneInfo.CreateCustomTimeZone 를 사용 하 여 런타임에 조건에 따라 일광 절약 시간을 지 원하는 사용자 지정 표준 시간대를 만들 수 있습니다.You can use this overload of the TimeZoneInfo.CreateCustomTimeZone method to create a custom time zone whose support for daylight saving time can be determined by conditions at run time.

다음 표에서는 메서드에 제공 되는 매개 변수와 TimeZoneInfo.CreateCustomTimeZone TimeZoneInfo 메서드 호출에서 반환 되는 개체의 멤버 간 관계를 보여 줍니다.The following table shows the relationship between the parameters that are provided to the TimeZoneInfo.CreateCustomTimeZone method and the members of the TimeZoneInfo object that are returned by the method call.

CreateCustomTimeZone 매개 변수CreateCustomTimeZone parameter TimeZoneInfo 속성TimeZoneInfo property
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName
daylightDisplayName DaylightName 가 이면이 disableDaylightSavingTime false 고,가 이면입니다 String.Empty disableDaylightSavingTime true .DaylightName if disableDaylightSavingTime is false; String.Empty if disableDaylightSavingTime is true.
adjustmentRules TimeZoneInfo.AdjustmentRule가 이면 메서드에서 반환 하는 개체의 배열이 GetAdjustmentRules disableDaylightSavingTime false 고, GetAdjustmentRules 가 이면 메서드에서 반환 하는 빈 배열 disableDaylightSavingTime 입니다 true .An array of TimeZoneInfo.AdjustmentRule objects returned by the GetAdjustmentRules method if disableDaylightSavingTime is false; an empty array returned by the GetAdjustmentRules method if disableDaylightSavingTime is true.
disableDaylightSavingTime 하지 SupportsDaylightSavingTime합니다.Not SupportsDaylightSavingTime.

일반적으로 표준 시간대의 표준 시간 이름과 해당 식별자는 동일 합니다.Typically, the time zone's standard time name and its identifier are the same. 그러나 표준 시간대의 식별자 길이는 32 자를 초과할 수 없습니다.However, the length of the time zone's identifier should not exceed 32 characters. 매개 변수에 전달 되는 문자열은 displayName 매우 일반적인 형식을 따릅니다.The string passed to the displayName parameter follows a fairly standard format. 표시 이름의 첫 부분은 협정 세계시에서 표준 시간대의 기본 오프셋입니다 .이 오프셋은 약어 GMT (그리니치 표준시)로 표시 되며 괄호로 묶여 있습니다.The first portion of the display name is the time zone's base offset from Coordinated Universal Time, which is indicated by the acronym GMT (for Greenwich Mean Time), enclosed in parentheses. 그 다음에는 표준 시간대를 식별 하는 문자열, 표준 시간대의 도시, 지역 또는 국가 중 하나 또는 둘 다가 있습니다.This is followed by a string that identifies the time zone itself, or one or more of the cities, regions, or countries in the time zone, or both. 예를 들면 다음과 같습니다.For example:

(GMT+02:00) Athens, Beirut, Istanbul, Minsk  
(GMT-02:00) Mid-Atlantic  
(GMT-07:00) Mountain Time (US & Canada)  

표준 시간대의 조정 규칙은 다음을 수행 하 여 정의 됩니다.A time zone's adjustment rules are defined by doing the following:

  1. CreateFloatingDateRule또는 메서드를 호출 CreateFixedDateRule 하 여 각 조정 규칙에 대 한 시작 및 종료 전환 규칙을 정의 합니다.Calling either the CreateFloatingDateRule or the CreateFixedDateRule method to define the starting and ending transition rules for each adjustment rule.

  2. CreateAdjustmentRule각 조정 규칙에 대해 메서드를 호출 합니다.Calling the CreateAdjustmentRule method for each adjustment rule.

  3. 매개 변수로 전달 될 수 있는 배열에 조정 규칙을 할당 adjustmentRules 합니다.Assigning the adjustment rules to an array that can be passed as the adjustmentRules parameter.

disableDaylightSavingTime매개 변수가 인 경우 false 이 메서드의 작업은 오버 로드와 동일 합니다 TimeZoneInfo.CreateCustomTimeZone .If disableDaylightSavingTime parameter is false, the operation of this method is identical to the TimeZoneInfo.CreateCustomTimeZone overload. disableDaylightSavingTime가 이면 true 반환 되는 개체에는 조정 규칙과 DaylightName 값이 빈 문자열 인 속성이 포함 되지 않습니다.If disableDaylightSavingTime is true, the returned object includes no adjustment rules and a DaylightName property whose value is an empty string.

추가 정보

적용 대상