TimeZoneInfo.TransitionTime.CreateFixedDateRule Yöntem

Tanım

Sabit tarih kuralı (belirli bir ayın belirli bir gününde gerçekleşen bir saat değişikliği) kullanan bir saat değişikliği tanımlar.

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

Parametreler

timeOfDay
DateTime

Değişikliğin gerçekleştiği saat. Bu parametre özelliğine TimeOfDay karşılık gelir.

month
Int32

Zaman değişikliğinin gerçekleştiği ay. Bu parametre özelliğine Month karşılık gelir.

day
Int32

Saat değişikliğinin gerçekleştiği ayın günü. Bu parametre özelliğine Day karşılık gelir.

Döndürülenler

TimeZoneInfo.TransitionTime

Zaman değişikliğiyle ilgili veriler.

Özel durumlar

parametresi varsayılan timeOfDay olmayan bir tarih bileşenine sahiptir.

-veya- Parametresinin timeOfDay Kind özelliği değildir Unspecified.

-veya- timeOfDay parametresi milisaniye cinsinden tamsayıyı temsil etmez.

month Parametre 1'den küçük veya 12'den büyük.

-veya- day Parametre 1'den küçük veya 31'den büyük.

Örnekler

Aşağıdaki örnek, hem sabit tarihli hem de kayan tarih kuralı kullanarak sanal bir saat dilimi için saat dilimi geçişleri oluşturur. Sabit tarih kuralı, saat 02:00'de başlayan bir saat dilimi ayarlamasını tanımlar. 15 Mart'ta ve 03:00'te sona erecek. 1900-1955 yılları için 15 Kasım'da.

// 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())

Açıklamalar

Bu yöntem, sabit tarihli bir kural (belirli bir ayın belirli bir gününde gerçekleşen bir saat değişikliği) oluşturur. Örneğin, her zaman 28 Ekim'de gerçekleşen bir saat değişikliği, sabit tarihli bir kuralı izler.

Standart saatten yaz saati saatine geçişler için bağımsız değişken, timeOfDay saat diliminin standart saatinde geçişin saatini temsil eder. Gün ışığından yararlanma saatinden standart saate geçişler için, saat diliminin yaz saati saatine geçişin saatini temsil eder. Bunun yıl, ay ve tarih değerlerinin tümü 1'e eşit olması gereken bir DateTime değer olduğunu unutmayın.

Şunlara uygulanır