Gewusst wie: Erstellen von Zeitzonen ohne AnpassungsregelnHow to: Create time zones without 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 ist zwar vorhanden, verfügt jedoch nicht über genaue Informationen zu Zeit Zonen Anpassungen für einen bestimmten historischen Zeitraum.The time zone exists but 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 ohne Anpassungsregeln erstellen.This topic shows how to create a time zone without adjustment rules. Informationen zum Erstellen einer Zeitzone, die Anpassungsregeln für die Sommerzeit unterstützt, finden Sie unter Gewusst wie: Erstellen von Zeitzonen mit Anpassungsregeln.To create a time zone that supports daylight saving time adjustment rules, see How to: Create time zones with adjustment rules.

So erstellen Sie eine Zeitzone ohne AnpassungsregelnTo create a time zone without adjustment rules

  1. 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.

  2. 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.

  3. 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.

  4. 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.

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

BeispielExample

Im folgenden Beispiel wird eine benutzerdefinierte Zeitzone für Mawson (Antarktis) definiert, die über keine Anpassungsregeln verfügt.The following example defines a custom time zone for Mawson, Antarctica, which has no adjustment rules.

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)      

Die Zeichenfolge, die der DisplayName-Eigenschaft zugewiesen ist, folgt einem Standardformat, in dem der Offset der Zeitzone von UTC eine benutzerfreundliche Beschreibung der Zeitzone folgt.The string assigned to the DisplayName property follows a standard format in which the time zone's offset from UTC is followed by a friendly description of the time zone.

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