TimeZoneInfo.TransitionTime.CreateFixedDateRule 메서드

정의

고정 날짜 규칙(즉, 특정 달의 특정 요일에 발생하는 시간 변경)을 사용하는 시간 변경을 정의합니다.

public:
 static TimeZoneInfo::TransitionTime CreateFixedDateRule(DateTime timeOfDay, int month, int day);
public static TimeZoneInfo.TransitionTime CreateFixedDateRule (DateTime timeOfDay, int month, int day);
static member CreateFixedDateRule : DateTime * int * int -> TimeZoneInfo.TransitionTime
Public Shared Function CreateFixedDateRule (timeOfDay As DateTime, month As Integer, day As Integer) As TimeZoneInfo.TransitionTime

매개 변수

timeOfDay
DateTime

시간 변경이 발생하는 시간입니다. 이 매개 변수는 TimeOfDay 속성에 해당합니다.

month
Int32

시간 변경이 발생하는 달입니다. 이 매개 변수는 Month 속성에 해당합니다.

day
Int32

시간 변경이 발생하는 달의 날짜입니다. 이 매개 변수는 Day 속성에 해당합니다.

반환

TimeZoneInfo.TransitionTime

시간 변경에 대한 데이터입니다.

예외

timeOfDay 매개 변수에 기본이 아닌 날짜 구성 요소가 있습니다.

또는 timeOfDay 매개 변수의 Kind 속성이 Unspecified이 아닙니다.

또는 timeOfDay 매개 변수가 전체 시간(밀리초)을 나타내지 않습니다.

month 매개 변수가 1보다 작거나 12보다 큽니다.

또는 day 매개 변수가 1보다 작거나 31보다 큽니다.

예제

다음 예제에서는 고정 날짜 규칙과 부동 날짜 규칙을 모두 사용하여 가상 표준 시간대에 대한 표준 시간대 전환을 만듭니다. 고정 날짜 규칙은 오전 2시에 시작하는 표준 시간대 조정을 정의합니다. 3월 15일 오전 3:00에 종료됩니다. 1900년에서 1955년까지의 기간은 11월 15일입니다.

// Declare necessary TimeZoneInfo.AdjustmentRule objects for time zone
TimeZoneInfo imaginaryTZ;
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment;
List<TimeZoneInfo.AdjustmentRule> adjustmentList = new List<TimeZoneInfo.AdjustmentRule>();
// Declare transition time variables to hold transition time information
TimeZoneInfo.TransitionTime transitionRuleStart, transitionRuleEnd;
                      
// Define a fictitious new time zone consisting of fixed and floating adjustment rules 
// Define fixed rule (for 1900-1955)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 2, 0, 0), 3, 15);
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 3, 0, 0), 11, 15);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1900, 1, 1), new DateTime(1955, 12, 31), 
             delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define floating rule (for 1956- )
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 3, 5, DayOfWeek.Sunday);
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 3, 0, 0), 10, 4, DayOfWeek.Sunday); 
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1956, 1, 1), DateTime.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment); 

// Create fictitious time zone   
imaginaryTZ = TimeZoneInfo.CreateCustomTimeZone("Fictitious Standard Time", new TimeSpan(-9, 0, 0), 
                "(GMT-09:00) Fictitious Time", "Fictitious Standard Time", 
                "Fictitious Daylight Time", adjustmentList.ToArray());
let delta = TimeSpan(1, 0, 0)
let adjustmentList = ResizeArray()
                    
// Define a fictitious new time zone consisting of fixed and floating adjustment rules 
// Define fixed rule (for 1900-1955)
let transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(DateTime(1, 1, 1, 2, 0, 0), 3, 15)
let transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFixedDateRule(DateTime(1, 1, 1, 3, 0, 0), 11, 15)
let adjustment = 
    TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(1900, 1, 1), DateTime(1955, 12, 31), delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add adjustment
// Define floating rule (for 1956- )
let transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 2, 0, 0), 3, 5, DayOfWeek.Sunday)
let transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 3, 0, 0), 10, 4, DayOfWeek.Sunday) 
let adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(1956, 1, 1), DateTime.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add adjustment 

// Create fictitious time zone   
let imaginaryTZ = 
    TimeZoneInfo.CreateCustomTimeZone("Fictitious Standard Time", TimeSpan(-9, 0, 0), 
                "(GMT-09:00) Fictitious Time", "Fictitious Standard Time", 
                "Fictitious Daylight Time", adjustmentList.ToArray())
' Declare necessary TimeZoneInfo.AdjustmentRule objects for time zone
Dim imaginaryTZ As TimeZoneInfo
Dim delta As New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule
Dim adjustmentList As New List(Of TimeZoneInfo.AdjustmentRule)
' Declare transition time variables to hold transition time information
Dim transitionRuleStart, transitionRuleEnd As TimeZoneInfo.TransitionTime
                      
' Define a fictitious new time zone consisting of fixed and floating adjustment rules 
' Define fixed rule (for 1900-1955)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#2:00:00AM#, 3, 15)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#3:00:00AM#, 11, 15)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#1/1/1900#, #12/31/1955#, delta, _
             transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define floating rule (for 1956- )
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#02:00:00AM#, 3, 5, DayOfWeek.Sunday)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#03:00:00AM#, 10, 4, DayOfWeek.Sunday) 
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1956#, Date.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment) 

' Create fictitious time zone   
imaginaryTZ = TimeZoneInfo.CreateCustomTimeZone("Fictitious Standard Time", New TimeSpan(-9, 0, 0), _
                "(GMT-09:00) Fictitious Time", "Fictitious Standard Time", _
                "Fictitious Daylight Time", adjustmentList.ToArray())

설명

이 메서드는 고정 날짜 규칙(즉, 특정 월의 특정 날짜에 발생하는 시간 변경)을 만듭니다. 예를 들어 항상 10월 28일에 발생하는 시간 변경은 고정 날짜 규칙을 따릅니다.

표준 시간에서 일광 절약 시간 timeOfDay 제로 전환하는 경우 인수는 표준 시간대의 표준 시간의 전환 시간을 나타냅니다. 일광 절약 시간에서 표준 시간으로 전환하는 경우 표준 시간대의 일광 절약 시간제 전환 시간을 나타냅니다. 연도, 월 및 날짜 값이 DateTime 모두 1이어야 하는 값입니다.

적용 대상