Gewusst wie: Erstellen von Zeitzonen mit AnpassungsregelnHow to: Create time zones with adjustment rules

Die genauen Zeitzoneninformationen, die von einer Anwendung benötigt werden, sind möglicherweise aus verschiedenen Gründen nicht auf einem bestimmten System vorhanden:The precise time zone information that is required by an application may not be present on a particular system for several reasons:

  • Die Zeitzone wurde nie in der Registrierung des lokalen Systems definiert.The time zone has never been defined in the local system's registry.

  • Daten über die Zeitzone wurden geändert oder aus der Registrierung entfernt.Data about the time zone has been modified or removed from the registry.

  • Die Zeitzone weist keine genauen Informationen zu Zeit Zonen Anpassungen für einen bestimmten historischen Zeitraum auf.The time zone does not have accurate information about time zone adjustments for a particular historic period.

In diesen Fällen können Sie die CreateCustomTimeZone-Methode aufzurufen, um die für die Anwendung erforderliche Zeitzone zu definieren.In these cases, you can call the CreateCustomTimeZone method to define the time zone required by your application. Sie können die über Ladungen dieser Methode verwenden, um eine Zeitzone mit oder ohne Anpassungsregeln zu erstellen.You can use the overloads of this method to create a time zone with or without adjustment rules. Wenn die Zeitzone die Sommerzeit unterstützt, können Sie Anpassungen mit festgelegten oder Gleit Komma Anpassungsregeln definieren.If the time zone supports daylight saving time, you can define adjustments with either fixed or floating adjustment rules. (Informationen zu Definitionen dieser Begriffe finden Sie im Abschnitt "Zeit Zonen Terminologie" unter Übersicht überdie Zeitzone.)(For definitions of these terms, see the "Time Zone Terminology" section in Time zone overview.)

Wichtig

Benutzerdefinierte Zeitzonen, die durch den Aufruf der CreateCustomTimeZone-Methode erstellt wurden, werden nicht zur Registrierung hinzugefügt.Custom time zones created by calling the CreateCustomTimeZone method are not added to the registry. Stattdessen kann nur über den Objekt Verweis darauf zugegriffen werden, der vom CreateCustomTimeZone-Methoden aufrufzeichen zurückgegeben wird.Instead, they can be accessed only through the object reference returned by the CreateCustomTimeZone method call.

In diesem Thema wird gezeigt, wie Sie eine Zeitzone mit Anpassungsregeln erstellen.This topic shows how to create a time zone with adjustment rules. Informationen zum Erstellen einer Zeitzone, die keine Anpassungsregeln für die Sommerzeit unterstützt, finden Sie unter Gewusst wie: Erstellen von Zeitzonen ohne Anpassungsregeln.To create a time zone that does not support daylight saving time adjustment rules, see How to: Create Time Zones Without Adjustment Rules.

So erstellen Sie eine Zeitzone mit Gleit Komma AnpassungsregelnTo create a time zone with floating adjustment rules

  1. Gehen Sie für jede Anpassung (d. h. für jeden Übergang von und zurück zur Standardzeit über ein bestimmtes Zeitintervall) wie folgt vor:For each adjustment (that is, for each transition away from and back to standard time over a particular time interval), do the following:

    1. Hiermit wird die Anfangs Übergangszeit für die Zeit Zonen Anpassung definiert.Define the starting transition time for the time zone adjustment.

      Sie müssen die TimeZoneInfo.TransitionTime.CreateFloatingDateRule-Methode aufzurufen und ihr einen DateTime Wert übergeben, der die Zeit des Übergangs definiert, einen ganzzahligen Wert, der den Monat des Übergangs definiert, einen ganzzahligen Wert, der die Woche definiert, in der der Übergang erfolgt, und einen DayOfWeek Wert, der definiert. der Wochentag, an dem der Übergang stattfindet.You must call the TimeZoneInfo.TransitionTime.CreateFloatingDateRule method and pass it a DateTime value that defines the time of the transition, an integer value that defines the month of the transition, an integer value that defines the week on which the transition occurs, and a DayOfWeek value that defines the day of the week on which the transition occurs. Dieser Methoden aufzurufende instanziiert ein TimeZoneInfo.TransitionTime Objekt.This method call instantiates a TimeZoneInfo.TransitionTime object.

    2. Hiermit wird die Endzeit für die Endzeit der Zeit Zonen Anpassung definiert.Define the ending transition time for the time zone adjustment. Hierfür ist ein weiterer Rückruf der TimeZoneInfo.TransitionTime.CreateFloatingDateRule-Methode erforderlich.This requires another call to the TimeZoneInfo.TransitionTime.CreateFloatingDateRule method. Dieser Methoden aufzurufende instanziiert ein zweites TimeZoneInfo.TransitionTime-Objekt.This method call instantiates a second TimeZoneInfo.TransitionTime object.

    3. Nennen Sie die CreateAdjustmentRule-Methode, und übergeben Sie Ihr das effektive Start-und Enddatum der Anpassung, ein TimeSpan Objekt, das die Zeitspanne im Übergang definiert, und die beiden TimeZoneInfo.TransitionTime-Objekte, die definieren, wann der Übergang zu und aus Sommerzeit stattfindet.Call the CreateAdjustmentRule method and pass it the effective start and end dates of the adjustment, a TimeSpan object that defines the amount of time in the transition, and the two TimeZoneInfo.TransitionTime objects that define when the transitions to and from daylight saving time occur. Dieser Methoden aufzurufende instanziiert ein TimeZoneInfo.AdjustmentRule Objekt.This method call instantiates a TimeZoneInfo.AdjustmentRule object.

    4. Weisen Sie das TimeZoneInfo.AdjustmentRule-Objekt einem Array von TimeZoneInfo.AdjustmentRule-Objekten zu.Assign the TimeZoneInfo.AdjustmentRule object to an array of TimeZoneInfo.AdjustmentRule objects.

  2. Hiermit wird der Anzeige Name der Zeitzone definiert.Define the time zone's display name. Der Anzeige Name folgt einem Recht standardmäßigen Format, in dem der Offset der Zeitzone von der koordinierten Weltzeit (UTC) in Klammern eingeschlossen wird, gefolgt von einer Zeichenfolge, die die Zeitzone, eine oder mehrere Städte in der Zeitzone oder eine oder mehrere der Orte (cou) identifiziert. ntries oder Regionen in der Zeitzone.The display name follows a fairly standard format in which the time zone's offset from Coordinated Universal Time (UTC) is enclosed in parentheses and is followed by a string that identifies the time zone, one or more of the cities in the time zone, or one or more of the countries or regions in the time zone.

  3. Hiermit wird der Name der Standardzeit der Zeitzone definiert.Define the name of the time zone's standard time. In der Regel wird diese Zeichenfolge auch als Bezeichner der Zeitzone verwendet.Typically, this string is also used as the time zone's identifier.

  4. Hiermit wird der Name der Sommerzeit der Zeitzone definiert.Define the name of the time zone's daylight time.

  5. Wenn Sie einen anderen Bezeichner als den Standardnamen der Zeitzone verwenden möchten, definieren Sie den Zeit Zonen Bezeichner.If you want to use a different identifier than the time zone's standard name, define the time zone identifier.

  6. Instanziieren Sie ein TimeSpan Objekt, das den Zeit Zonen Offset von UTC definiert.Instantiate a TimeSpan object that defines the time zone's offset from UTC. Zeitzonen mit Uhrzeiten, die später als UTC liegen, haben einen positiven Offset.Time zones with times that are later than UTC have a positive offset. Zeitzonen mit Zeiten, die älter sind als UTC, haben einen negativen Offset.Time zones with times that are earlier than UTC have a negative offset.

  7. Ruft die TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[])-Methode auf, um die neue Zeitzone zu instanziieren.Call the TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[]) method to instantiate the new time zone.

BeispielExample

Im folgenden Beispiel wird eine zentrale Standard Zeitzone für die USA definiert, die Anpassungsregeln für eine Vielzahl von Zeitintervallen von 1918 bis zum aktuellen umfasst.The following example defines a Central Standard Time zone for the United States that includes adjustment rules for a variety of time intervals from 1918 to the present.

TimeZoneInfo cst;
// Declare necessary TimeZoneInfo.AdjustmentRule objects for time zone
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 new Central Standard Time zone 6 hours earlier than UTC
// Define rule 1 (for 1918-1919)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 03, 05, DayOfWeek.Sunday);
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 10, 05, DayOfWeek.Sunday); 
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1918, 1, 1), new DateTime(1919, 12, 31), delta, 
                                                           transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment); 
// Define rule 2 (for 1942)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 2, 0, 0), 02, 09);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1942, 1, 1), new DateTime(1942, 12, 31), 
                                                           delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define rule 3 (for 1945)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 23, 0, 0), 08, 14);
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 2, 0, 0), 09, 30);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1945, 1, 1), new DateTime(1945, 12, 31), 
                                                           delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define end rule (for 1967-2006)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 10, 5, DayOfWeek.Sunday);
// Define rule 4 (for 1967-73)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 04, 05, DayOfWeek.Sunday);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1967, 1, 1), new DateTime(1973, 12, 31), 
                                                           delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define rule 5 (for 1974 only)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 2, 0, 0), 01, 06);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1974, 1, 1), new DateTime(1974, 12, 31), 
                                                           delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define rule 6 (for 1975 only)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 2, 0, 0), 02, 23);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1975, 1, 1), new DateTime(1975, 12, 31), 
                                                           delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define rule 7 (1976-1986)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 04, 05, DayOfWeek.Sunday);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1976, 1, 1), new DateTime(1986, 12, 31), 
                                                           delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define rule 8 (1987-2006)  
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 04, 01, DayOfWeek.Sunday);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1987, 1, 1), new DateTime(2006, 12, 31), 
                                                           delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define rule 9 (2007- )  
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 03, 02, DayOfWeek.Sunday);
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 11, 01, DayOfWeek.Sunday);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(2007, 1, 1), DateTime.MaxValue.Date, 
                                                           delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
              
// Convert list of adjustment rules to an array
TimeZoneInfo.AdjustmentRule[] adjustments = new TimeZoneInfo.AdjustmentRule[adjustmentList.Count];
adjustmentList.CopyTo(adjustments);
   
cst = TimeZoneInfo.CreateCustomTimeZone("Central Standard Time", new TimeSpan(-6, 0, 0), 
      "(GMT-06:00) Central Time (US Only)", "Central Standard Time", 
      "Central Daylight Time", adjustments);
Dim cst As TimeZoneInfo
' Declare necessary TimeZoneInfo.AdjustmentRule objects for time zone
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 new Central Standard Time zone 6 hours earlier than UTC
' Define rule 1 (for 1918-1919)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#02:00:00AM#, 03, 05, DayOfWeek.Sunday)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#02:00:00AM#, 10, 05, DayOfWeek.Sunday) 
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1918#, #12/31/1919#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment) 
' Define rule 2 (for 1942)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#2:00:00AM#, 02, 09)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1942#, #12/31/1942#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define rule 3 (for 1945)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#11:00:00PM#, 08, 14)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#2:00:00AM#, 09, 30)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1945#, #12/31/1945#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define end rule (for 1967-2006)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#02:00:00AM#, 10, 5, DayOfWeek.Sunday)
' Define rule 4 (for 1967-73)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 04, 05, DayOfWeek.Sunday)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1967#, #12/31/1973#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define rule 5 (for 1974 only)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#2:00:00AM#, 01, 06)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1974#, #12/31/1974#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define rule 6 (for 1975 only)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFixedDateRule(#2:00:00AM#, 02, 23)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1975#, #12/31/1975#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define rule 7 (1976-1986)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 04, 05, DayOfWeek.Sunday)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1976#, #12/31/1986#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define rule 8 (1987-2006)  
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 04, 01, DayOfWeek.Sunday)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1987#, #12/31/2006#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define rule 9 (2007- )  
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 03, 02, DayOfWeek.Sunday)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 11, 01, DayOfWeek.Sunday)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/2007#, Date.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
              
' Convert list of adjustment rules to an array
Dim adjustments(adjustmentList.Count - 1) As TimeZoneInfo.AdjustmentRule
adjustmentList.CopyTo(adjustments)
   
cst = TimeZoneInfo.CreateCustomTimeZone("Central Standard Time", New TimeSpan(-6, 0, 0), _
      "(GMT-06:00) Central Time (US Only)", "Central Standard Time", _
      "Central Daylight Time", adjustments)

Die in diesem Beispiel erstellte Zeitzone verfügt über mehrere Anpassungsregeln.The time zone created in this example has multiple adjustment rules. Es muss darauf geachtet werden, dass sich das effektive Start-und Enddatum einer beliebigen Anpassungs Regel nicht mit den Datumsangaben einer anderen Anpassungs Regel überschneidet.Care must be taken to ensure that the effective start and end dates of any adjustment rule do not overlap with the dates of another adjustment rule. Wenn eine Überschneidung vorliegt, wird eine InvalidTimeZoneException ausgelöst.If there is an overlap, an InvalidTimeZoneException is thrown.

Für Gleit Komma Anpassungsregeln wird der Wert 5 an den week-Parameter der CreateFloatingDateRule-Methode übergeben, um anzugeben, dass der Übergang in der letzten Woche eines bestimmten Monats erfolgt.For floating adjustment rules, the value 5 is passed to the week parameter of the CreateFloatingDateRule method to indicate that the transition occurs on the last week of a particular month.

Beim Erstellen des Arrays von TimeZoneInfo.AdjustmentRule-Objekten, die im TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[])-Methodenaufruf verwendet werden sollen, könnte der Code das Array mit der Größe initialisieren, die für die Anzahl der für die Zeitzone zu erstellenden Anpassungen erforderlich ist.In creating the array of TimeZoneInfo.AdjustmentRule objects to use in the TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[]) method call, the code could initialize the array to the size required by the number of adjustments to be created for the time zone. Stattdessen wird in diesem Codebeispiel die Add-Methode aufgerufen, um jede Anpassungs Regel einer generischen List<T> Auflistung von TimeZoneInfo.AdjustmentRule Objekten hinzuzufügen.Instead, this code example calls the Add method to add each adjustment rule to a generic List<T> collection of TimeZoneInfo.AdjustmentRule objects. Der Code ruft dann die CopyTo-Methode auf, um die Elemente dieser Auflistung in das Array zu kopieren.The code then calls the CopyTo method to copy the members of this collection to the array.

Im Beispiel wird auch die CreateFixedDateRule-Methode verwendet, um Anpassungen fester Datumsangaben zu definieren.The example also uses the CreateFixedDateRule method to define fixed-date adjustments. Dies ähnelt dem Aufrufen der CreateFloatingDateRule-Methode, mit der Ausnahme, dass Sie nur die Zeit, den Monat und den Tag der Übergangs Parameter erfordert.This is similar to calling the CreateFloatingDateRule method, except that it requires only the time, month, and day of the transition parameters.

Das Beispiel kann mithilfe von Code wie dem folgenden getestet werden:The example can be tested using code such as the following:

TimeZoneInfo est = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");

DateTime pastDate1 = new DateTime(1942, 2, 11);
Console.WriteLine("Is {0} daylight saving time: {1}", pastDate1, 
                  cst.IsDaylightSavingTime(pastDate1));

DateTime pastDate2 = new DateTime(1967, 10, 29, 1, 30, 00);
Console.WriteLine("Is {0} ambiguous: {1}", pastDate2, 
                  cst.IsAmbiguousTime(pastDate2));

DateTime pastDate3 = new DateTime(1974, 1, 7, 2, 59, 00);
Console.WriteLine("{0} {1} is {2} {3}", pastDate3, 
                  est.IsDaylightSavingTime(pastDate3) ? 
                      est.DaylightName : est.StandardName, 
                  TimeZoneInfo.ConvertTime(pastDate3, est, cst),  
                  cst.IsDaylightSavingTime(TimeZoneInfo.ConvertTime(pastDate3, est, cst)) ?
                      cst.DaylightName : cst.StandardName);
//
// This code produces the following output to the console:
// 
//    Is 2/11/1942 12:00:00 AM daylight saving time: True
//    Is 10/29/1967 1:30:00 AM ambiguous: True
//    1/7/1974 2:59:00 AM Eastern Standard Time is 1/7/1974 2:59:00 AM Central Daylight Time                            
Dim est As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")

Dim pastDate1 As Date = #2/11/1942#
Console.WriteLine("Is {0} daylight saving time: {1}", pastDate1, _
                  cst.IsDaylightSavingTime(pastDate1))

Dim pastDate2 As Date = #10/29/1967 1:30AM#
Console.WriteLine("Is {0} ambiguous: {1}", pastDate2, _
                  cst.IsAmbiguousTime(pastDate2))

Dim pastDate3 As Date = #1/7/1974 2:59AM#
Console.WriteLine("{0} {1} is {2} {3}", pastDate3, _
                  IIf(est.IsDaylightSavingTime(pastDate3), _
                      est.DaylightName, est.StandardName), _
                  TimeZoneInfo.ConvertTime(pastDate3, est, cst), _ 
                  IIf(cst.IsDaylightSavingTime(TimeZoneInfo.ConvertTime(pastDate3, est, cst)), _
                      cst.DaylightName, cst.StandardName)) 
'
' This code produces the following output to the console:
' 
'    Is 2/11/1942 12:00:00 AM daylight saving time: True
'    Is 10/29/1967 1:30:00 AM ambiguous: True
'    1/7/1974 2:59:00 AM Eastern Standard Time is 1/7/1974 2:59:00 AM Central Daylight Time                            

Kompilieren des CodesCompiling the code

Für dieses Beispiel benötigen Sie Folgendes:This example requires:

  • Die folgenden Namespaces werden importiert:That the following namespaces be imported:

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

Siehe auchSee also