Postupy: Vytváření časových pásem bez pravidel úprav
Přesná informace o časovém pásmu, která je vyžadována aplikací, nemusí být přítomna v konkrétním systému z několika důvodů:
Časové pásmo nebylo nikdy definováno v registru místního systému.
Data o časovém pásmu byla změněna nebo odebrána z registru.
Časové pásmo existuje, ale nemá přesné informace o úpravách časového pásma pro určité období z minulosti.
V těchto případech můžete volat metodu CreateCustomTimeZone pro definování časového pásma požadovaného vaší aplikací. Můžete použít přetížení této metody pro vytvoření časového pásma s nebo bez pravidel úpravy. Pokud časové pásmo podporuje letní čas, můžete definovat úpravy buď pomocí pevných, nebo plovoucích pravidel úpravy. (Definice těchto termínů najdete v části Terminologie časových pásem v tématu Přehled časových pásem.)
Důležité |
---|
Vlastní časová pásma vytvořená voláním metody CreateCustomTimeZone nejsou přidána do registru. Místo toho k nim lze přistupovat pouze prostřednictvím odkazu na objekt vráceného voláním metody CreateCustomTimeZone. |
Toto téma ukazuje, jak vytvořit časové pásmo bez pravidel úpravy. Informace o vytvoření časového pásma, které podporuje pravidla úpravy letního času naleznete v tématu Postupy: Vytváření časových pásem s pravidly úprav.
Chcete-li vytvořit časové pásmo bez pravidel úprav
Definujte zobrazovaný název časového pásma.
Zobrazovaný název se řídí standardním formátem, ve kterém je posun časového pásma od koordinovaného světového času (standard UTC) uzavřený v závorkách a následuje řetězec identifikující časové pásmo, jedno nebo více měst v časovém pásmu nebo jedna nebo více zemí nebo regionů v časovém pásmu.
Definujte název standardního času pro časové pásmo. Tento řetězec se obvykle používá také jako identifikátor časového pásma.
Pokud chcete použít jiný identifikátor než standardní název časového pásma, definujte identifikátor časového pásma.
Vytvořte instanci objektu TimeSpan, který definuje posun časového pásma od času UTC. Časová pásma s časy, které jsou pozdější než čas UTC, mají kladný posun. Časová pásma s časy, které jsou dřívější než čas UTC, mají záporný posun.
Volejte metodu TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String) pro vytvoření instance nového časového pásma.
Příklad
Následující příklad definuje vlastní časové pásmo pro Mawson, Antarctica, které nemá žádná pravidla úpravy.
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)
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);
Řetězec přiřazený k vlastnosti DisplayName následuje standardní formát, ve kterém je posun časového pásma od času UTC následován krátkým popisem časového pásma.
Probíhá kompilace kódu
Tento příklad vyžaduje:
Že bude do projektu přidán odkaz na System.Core.dll.
Aby byly importovány následující obory názvů:
Imports System.Collections.Generic Imports System.Collections.ObjectModel
using System.Collections.Generic; using System.Collections.ObjectModel;
Viz také
Úkoly
Postupy: Vytváření časových pásem s pravidly úprav