Delen via


Procedure: Tijdzones maken zonder aanpassingsregels

De exacte tijdzone-informatie die door een toepassing vereist is, kan om verschillende redenen niet aanwezig zijn op een bepaald systeem:

  • De tijdzone is nooit gedefinieerd in het register van het lokale systeem.

  • Gegevens over de tijdzone zijn gewijzigd of verwijderd uit het register.

  • De tijdzone bestaat, maar heeft geen nauwkeurige informatie over tijdzone-aanpassingen voor een bepaalde historische periode.

In deze gevallen kunt u de CreateCustomTimeZone methode aanroepen om de tijdzone te definiëren die vereist is voor uw toepassing. U kunt de overbelasting van deze methode gebruiken om een tijdzone te maken met of zonder aanpassingsregels. Als de tijdzone zomertijd ondersteunt, kunt u aanpassingen definiëren met vaste of zwevende aanpassingsregels. (Zie voor definities van deze termen de sectie 'Tijdzoneterminologie' in Overzicht van tijdzone.)

Belangrijk

Aangepaste tijdzones die zijn gemaakt door de CreateCustomTimeZone methode aan te roepen, worden niet toegevoegd aan het register. In plaats daarvan kunnen ze alleen worden geopend via de objectverwijzing die wordt geretourneerd door de CreateCustomTimeZone methode-aanroep.

In dit onderwerp wordt beschreven hoe u een tijdzone maakt zonder regels voor aanpassing. Als u een tijdzone wilt maken die ondersteuning biedt voor de regels voor zomertijdaanpassing, raadpleegt u Procedure: Tijdzones maken met aanpassingsregels.

Een tijdzone maken zonder aanpassingsregels

  1. Definieer de weergavenaam van de tijdzone.

    De weergavenaam volgt een vrij standaardindeling waarin de verschuiving van de tijdzone van Coordinated Universal Time (UTC) tussen haakjes staat en wordt gevolgd door een tekenreeks die de tijdzone, een of meer steden in de tijdzone, of een of meer van de landen of regio's in de tijdzone identificeert.

  2. Definieer de naam van de standaardtijd van de tijdzone. Deze tekenreeks wordt doorgaans ook gebruikt als de id van de tijdzone.

  3. Als u een andere id wilt gebruiken dan de standaardnaam van de tijdzone, definieert u de tijdzone-id.

  4. Instantieer een TimeSpan object waarmee de offset van de tijdzone van UTC wordt gedefinieerd. Tijdzones met tijden die later zijn dan UTC, hebben een positieve offset. Tijdzones met tijden die ouder zijn dan UTC, hebben een negatieve verschuiving.

  5. Roep de TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String) methode aan om de nieuwe tijdzone te instantiëren.

Opmerking

In het volgende voorbeeld wordt een aangepaste tijdzone gedefinieerd voor Mawson, Antarctica, die geen aanpassingsregels heeft.

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)

De tekenreeks die aan de DisplayName eigenschap is toegewezen, volgt een standaardindeling waarin de offset van de tijdzone van UTC wordt gevolgd door een beschrijvende beschrijving van de tijdzone.

De code compileren

Voor dit voorbeeld is het volgende vereist:

  • De volgende naamruimten worden geïmporteerd:

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

Zie ook