İngilizce dilinde oku

Aracılığıyla paylaş


TimeZoneInfo.AdjustmentRule Sınıf

Tanım

Gün ışığından yararlanma saatine geçiş gibi saat dilimi ayarlaması hakkında bilgi sağlar.

C#
public sealed class TimeZoneInfo.AdjustmentRule : IEquatable<TimeZoneInfo.AdjustmentRule>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
C#
[System.Serializable]
public sealed class TimeZoneInfo.AdjustmentRule : IEquatable<TimeZoneInfo.AdjustmentRule>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
Devralma
TimeZoneInfo.AdjustmentRule
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnek, yerel sistemde tanımlanan tüm saat dilimlerini alır ve ayarlama kuralları hakkındaki tüm bilgileri görüntüler.

C#
private enum WeekOfMonth 
{
   First = 1,
   Second = 2,
   Third = 3,
   Fourth = 4,
   Last = 5,
}

private static void ShowStartAndEndDates()
{
   // Get all time zones from system
   ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
   string[] monthNames = CultureInfo.CurrentCulture.DateTimeFormat.MonthNames;
   // Get each time zone
   foreach (TimeZoneInfo timeZone in timeZones)
   {
      TimeZoneInfo.AdjustmentRule[] adjustments = timeZone.GetAdjustmentRules();
      // Display message for time zones with no adjustments
      if (adjustments.Length == 0)
      {
         Console.WriteLine("{0} has no adjustment rules", timeZone.StandardName);
      }   
      else
      {
         // Handle time zones with 1 or 2+ adjustments differently
         bool showCount = false;
         int ctr = 0;
         string spacer = "";
         
         Console.WriteLine("{0} Adjustment rules", timeZone.StandardName);
         if (adjustments.Length > 1)
         {
            showCount = true;
            spacer = "   ";
         }   
         // Iterate adjustment rules
         foreach (TimeZoneInfo.AdjustmentRule adjustment in adjustments)
         {
            if (showCount)
            { 
               Console.WriteLine("   Adjustment rule #{0}", ctr+1);
               ctr++;
            }
            // Display general adjustment information
            Console.WriteLine("{0}   Start Date: {1:D}", spacer, adjustment.DateStart);
            Console.WriteLine("{0}   End Date: {1:D}", spacer, adjustment.DateEnd);
            Console.WriteLine("{0}   Time Change: {1}:{2:00} hours", spacer, 
                              adjustment.DaylightDelta.Hours, adjustment.DaylightDelta.Minutes);
            // Get transition start information
            TimeZoneInfo.TransitionTime transitionStart = adjustment.DaylightTransitionStart;
            Console.Write("{0}   Annual Start: ", spacer);
            if (transitionStart.IsFixedDateRule)
            {
               Console.WriteLine("On {0} {1} at {2:t}", 
                                 monthNames[transitionStart.Month - 1], 
                                 transitionStart.Day, 
                                 transitionStart.TimeOfDay);
            }
            else
            {
               Console.WriteLine("The {0} {1} of {2} at {3:t}", 
                                 ((WeekOfMonth)transitionStart.Week).ToString(), 
                                 transitionStart.DayOfWeek.ToString(), 
                                 monthNames[transitionStart.Month - 1], 
                                 transitionStart.TimeOfDay);
            }
            // Get transition end information
            TimeZoneInfo.TransitionTime transitionEnd = adjustment.DaylightTransitionEnd;
            Console.Write("{0}   Annual End: ", spacer);
            if (transitionEnd.IsFixedDateRule)
            {
               Console.WriteLine("On {0} {1} at {2:t}", 
                                 monthNames[transitionEnd.Month - 1], 
                                 transitionEnd.Day, 
                                 transitionEnd.TimeOfDay);
            }
            else
            {
               Console.WriteLine("The {0} {1} of {2} at {3:t}", 
                                 ((WeekOfMonth)transitionEnd.Week).ToString(), 
                                 transitionEnd.DayOfWeek.ToString(), 
                                 monthNames[transitionEnd.Month - 1], 
                                 transitionEnd.TimeOfDay);
            }
         }
      }   
      Console.WriteLine();
   } 
}

Aşağıda, çıktının örnek tarafından oluşturulan küçük bir kısmı verilmiştir. Tam çıktı, işletim sistemine ve örneğin çalıştırıldığı tarihe bağlı olarak değişir.

Morocco Standard Time Adjustment rules  
   Adjustment rule #1  
      Start Date: Tuesday, January 01, 2008  
      End Date: Wednesday, December 31, 2008  
      Time Change: 1:00 hours  
      Annual Start: The Last Saturday of May at 11:59 PM  
      Annual End: The Last Sunday of August at 11:59 PM  
   Adjustment rule #2  
      Start Date: Thursday, January 01, 2009  
      End Date: Thursday, December 31, 2009  
      Time Change: 1:00 hours  
      Annual Start: The Last Sunday of May at 11:59 PM  
      Annual End: The Third Thursday of August at 11:59 PM  

Coordinated Universal Time has no adjustment rules  

GMT Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 1:00 AM  
   Annual End: The Last Sunday of October at 2:00 AM  

Greenwich Standard Time has no adjustment rules  

W. Europe Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 2:00 AM  
   Annual End: The Last Sunday of October at 3:00 AM  

Central Europe Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 2:00 AM  
   Annual End: The Last Sunday of October at 3:00 AM  

Romance Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 2:00 AM  
   Annual End: The Last Sunday of October at 3:00 AM  

Central European Standard Time Adjustment rules  
   Start Date: Monday, January 01, 0001  
   End Date: Friday, December 31, 9999  
   Time Change: 1:00 hours  
   Annual Start: The Last Sunday of March at 2:00 AM  
   Annual End: The Last Sunday of October at 3:00 AM  

W. Central Africa Standard Time has no adjustment rules  

Açıklamalar

sınıfı, TimeZoneInfo.AdjustmentRule belirli bir saat değişikliğinin etkin başlangıç ve bitiş tarihlerini sırasıyla gün ışığından yararlanma saatiyle ve deltasıyla (ayarlamanın saat diliminin standart saatinin değişmesine neden olan tam tutar) tanımlar. Buna ek olarak, iki özellik her geçişin standart zamana ne zaman ve ne zaman gerçekleştiğini tanımlayan nesneler döndürür TimeZoneInfo.TransitionTime .

Not

Sınıfının bir örneği TimeZoneInfo.AdjustmentRule sabittir. Bir nesne oluşturulduktan sonra değerleri değiştirilemez.

Nesne TimeZoneInfo.AdjustmentRule oluşturmak için (Shared Visual Basic) TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule yöntemini çağırın static . Daha sonra yönteminin TimeZoneInfo.AdjustmentRule aşırı yüklemelerinden TimeZoneInfo.CreateCustomTimeZone ikisine bir nesne dizisi sağlayabilirsiniz. Belirli bir saat diliminin ayarlama kurallarını almak için bir nesne dizisi döndüren yöntemini çağırın TimeZoneInfo.GetAdjustmentRules TimeZoneInfo.AdjustmentRule .

Özellikler

BaseUtcOffsetDelta

Ayarlama kuralı dönemi boyunca saat dilimi için temel UTC uzaklığı ile zaman farkını alır.

DateEnd

Ayarlama kuralının geçerli olmaktan çıktığı tarihi alır.

DateStart

Ayarlama kuralının geçerli olduğu tarihi alır.

DaylightDelta

Saat diliminin gün ışığından yararlanma saatini oluşturmak için gereken süreyi alır. Bu süre, eşgüdümlü Evrensel Saat'ten (UTC) saat diliminin uzaklığı için eklenir.

DaylightTransitionEnd

Gün ışığından yararlanma saatinden standart saate kadar olan yıllık geçiş hakkında bilgi alır.

DaylightTransitionStart

Standart saatten yaz saati uygulamasına yıllık geçiş hakkında bilgi alır.

Yöntemler

CreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo+TransitionTime, TimeZoneInfo+TransitionTime)

Belirli bir saat dilimi için yeni bir ayarlama kuralı oluşturur.

CreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo+TransitionTime, TimeZoneInfo+TransitionTime, TimeSpan)

Belirli bir saat dilimi için yeni bir ayarlama kuralı oluşturur.

Equals(Object)

Geçerli örneğin başka bir örneğe eşit olup olmadığını gösterir.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Equals(TimeZoneInfo+AdjustmentRule)

Geçerli TimeZoneInfo.AdjustmentRule nesnenin ikinci TimeZoneInfo.AdjustmentRule bir nesneye eşit olup olmadığını belirler.

GetHashCode()

Karma algoritmalar ve karma tablolar gibi veri yapıları için karma işlevi görür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IDeserializationCallback.OnDeserialization(Object)

Bir TimeZoneInfo.AdjustmentRule nesnenin seri durumdan çıkarma işlemi tamamlandığında çalışır.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Bir SerializationInfo nesneyi, bu nesneyi seri hale getirmek için gereken verilerle doldurur.

Şunlara uygulanır

Ürün Sürümler
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1

Ayrıca bkz.