Sdílet prostřednictvím


TimeZoneInfo.CreateCustomTimeZone Metoda

Definice

Definuje časové pásmo, které není v místním počítači nalezeno.

Přetížení

Name Description
CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[], Boolean)

Vytvoří vlastní časové pásmo se zadaným identifikátorem, posunem od koordinovaného univerzálního času (UTC), zobrazovaným názvem, standardním názvem času, názvem letního času, pravidly letního času a hodnotou, která označuje, jestli vrácený objekt odráží informace o letním čase.

CreateCustomTimeZone(String, TimeSpan, String, String)

Vytvoří vlastní časové pásmo se zadaným identifikátorem, posunem od koordinovaného univerzálního času (UTC), zobrazovaným názvem a standardním zobrazovaným názvem času.

CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[])

Vytvoří vlastní časové pásmo se zadaným identifikátorem, posunem od koordinovaného univerzálního času (UTC), zobrazovaným názvem, standardním názvem času, názvem letního času a pravidly letního času.

CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[], Boolean)

Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs

Vytvoří vlastní časové pásmo se zadaným identifikátorem, posunem od koordinovaného univerzálního času (UTC), zobrazovaným názvem, standardním názvem času, názvem letního času, pravidly letního času a hodnotou, která označuje, jestli vrácený objekt odráží informace o letním čase.

public:
 static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName, System::String ^ daylightDisplayName, cli::array <TimeZoneInfo::AdjustmentRule ^> ^ adjustmentRules, bool disableDaylightSavingTime);
public static TimeZoneInfo CreateCustomTimeZone(string id, TimeSpan baseUtcOffset, string? displayName, string? standardDisplayName, string? daylightDisplayName, TimeZoneInfo.AdjustmentRule[]? adjustmentRules, bool disableDaylightSavingTime);
public static TimeZoneInfo CreateCustomTimeZone(string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName, string daylightDisplayName, TimeZoneInfo.AdjustmentRule[] adjustmentRules, bool disableDaylightSavingTime);
static member CreateCustomTimeZone : string * TimeSpan * string * string * string * TimeZoneInfo.AdjustmentRule[] * bool -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String, daylightDisplayName As String, adjustmentRules As TimeZoneInfo.AdjustmentRule(), disableDaylightSavingTime As Boolean) As TimeZoneInfo

Parametry

id
String

Identifikátor časového pásma.

baseUtcOffset
TimeSpan

Objekt TimeSpan , který představuje časový rozdíl mezi tímto časovým pásmem a koordinovaným univerzálním časem (UTC).

displayName
String

Zobrazovaný název nového časového pásma

standardDisplayName
String

Standardní název nového časového pásma.

daylightDisplayName
String

Název nového časového pásma pro letní čas.

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

Pole TimeZoneInfo.AdjustmentRule objektů, které rozšiřují základní posun UTC pro určité období.

disableDaylightSavingTime
Boolean

truezahození veškerých informací souvisejících s letním časem, které jsou přítomné v adjustmentRules novém objektu, jinak . false

Návraty

Nové časové pásmo. disableDaylightSavingTime Pokud je trueparametr , vrácený objekt nemá žádná data o letním času.

Výjimky

Parametr id je null.

Parametr id je prázdný řetězec ("").

nebo

Parametr baseUtcOffset nepředstavuje celý počet minut.

Parametr baseUtcOffset je větší než 14 hodin nebo kratší než -14 hodin.

Pravidla úprav zadaná v parametru adjustmentRules se překrývají.

nebo

Pravidla úpravy zadaná v parametru adjustmentRules nejsou v chronologickém pořadí.

nebo

Jeden nebo více prvků jsou adjustmentRulesnull.

nebo

Datum může obsahovat několik pravidel úpravy.

nebo

Součet parametru baseUtcOffset a DaylightDelta hodnoty jednoho nebo více objektů v adjustmentRules poli je větší než 14 hodin nebo méně než -14 hodin.

Příklady

Následující příklad vytvoří vlastní časové pásmo pro stanici Palmer a Ostrov Anvers v Antarktidě. disableDaylightSavingTime Nastaví parametr ve volání TimeZoneInfo.CreateCustomTimeZone metody na true. Potom zobrazí název nového časového pásma letního času, pokud je k dispozici, a počet pravidel úprav pro potvrzení, že nové časové pásmo neobsahuje žádné informace o letním čase.

// Define transition times to/from DST
TimeZoneInfo.TransitionTime startTransition, endTransition;
startTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 4, 0, 0),
                                                                  10, 2, DayOfWeek.Sunday); 
endTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1,3, 0, 0), 
                                                                3, 2, DayOfWeek.Sunday);
// Define adjustment rule
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1999, 10, 1), 
                                      DateTime.MaxValue.Date, delta, startTransition, endTransition);
// Create array for adjustment rules
TimeZoneInfo.AdjustmentRule[] adjustments = {adjustment};
// Define other custom time zone arguments
string displayName = "(GMT-04:00) Antarctica/Palmer Time";
string standardName = "Palmer Standard Time";
string daylightName = "Palmer Daylight Time";
TimeSpan offset = new TimeSpan(-4, 0, 0);
// Create custom time zone without copying DST information
TimeZoneInfo palmer = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, 
                                                  daylightName, adjustments, true);
// Indicate whether new time zone//s adjustment rules are present
Console.WriteLine("{0} {1}has {2} adjustment rules.", 
                  palmer.StandardName, 
                  ! (string.IsNullOrEmpty(palmer.DaylightName)) ?  "(" + palmer.DaylightName + ") ": "" , 
                  palmer.GetAdjustmentRules().Length);
// Indicate whether new time zone supports DST
Console.WriteLine("{0} supports DST: {1}", palmer.StandardName, palmer.SupportsDaylightSavingTime);
// Define transition times to/from DST
let startTransition = 
    TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 4, 0, 0), 10, 2, DayOfWeek.Sunday) 
let endTransition = 
    TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1,3, 0, 0), 3, 2, DayOfWeek.Sunday)
// Define adjustment rule
let delta = TimeSpan(1, 0, 0)
let adjustment = 
    TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(1999, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition)
// Create array for adjustment rules
let adjustments = [| adjustment |]
// Define other custom time zone arguments
let displayName = "(GMT-04:00) Antarctica/Palmer Time"
let standardName = "Palmer Standard Time"
let daylightName = "Palmer Daylight Time"
let offset = TimeSpan(-4, 0, 0)
// Create custom time zone without copying DST information
let palmer = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments, true)
// Indicate whether time zone//s adjustment rules are present
printfn $"""{palmer.StandardName} {if String.IsNullOrEmpty palmer.DaylightName then "" else "(" + palmer.DaylightName + ")"}has {palmer.GetAdjustmentRules().Length} adjustment rules."""
// Indicate whether time zone supports DST
printfn $"{palmer.StandardName} supports DST: {palmer.SupportsDaylightSavingTime}"
' Define transition times to/from DST
Dim startTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#04:00:00#, 10, 2, DayOfWeek.Sunday) 
Dim endTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#3:00:00#, 3, 2, DayOfWeek.Sunday)
' Define adjustment rule
Dim delta As TimeSpan = New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#10/01/1999#, Date.MaxValue.Date, delta, startTransition, endTransition)
' Create array for adjustment rules
Dim adjustments() As TimeZoneInfo.AdjustmentRule = {adjustment}
' Define other custom time zone arguments
Dim displayName As String = "(GMT-04:00) Antarctica/Palmer Time"
Dim standardName As String = "Palmer Standard Time"
Dim daylightName As String = "Palmer Daylight Time"
Dim offset As TimeSpan = New TimeSpan(-4, 0, 0)
Dim palmer As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments, True)
' Indicate whether new time zone's adjustment rules are present
Console.WriteLine("{0} {1}has {2} adjustment rules.", _
                  palmer.StandardName, _
                  IIf(Not String.IsNullOrEmpty(palmer.DaylightName), "(" & palmer.DaylightName & ") ", ""), _
                  palmer.GetAdjustmentRules().Length)
' Indicate whether new time zone supports DST
Console.WriteLine("{0} supports DST: {1}", palmer.StandardName, palmer.SupportsDaylightSavingTime)

Poznámky

Toto přetížení TimeZoneInfo.CreateCustomTimeZone metody můžete použít k vytvoření vlastního časového pásma, jehož podpora letního času může být určena podmínkami za běhu.

Následující tabulka ukazuje vztah mezi parametry, které jsou k dispozici metodě TimeZoneInfo.CreateCustomTimeZone , a členy objektu TimeZoneInfo , které jsou vráceny voláním metody.

CreateCustomTimeZone – parametr TimeZoneInfo – vlastnost
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName
daylightDisplayName DaylightNamepokud je ; String.Empty pokud disableDaylightSavingTimedisableDaylightSavingTime je truefalse.
adjustmentRules Pole TimeZoneInfo.AdjustmentRule objektů vrácených metodou GetAdjustmentRules pokud disableDaylightSavingTime je false; prázdné pole vrácené metodou GetAdjustmentRules , pokud disableDaylightSavingTime je true.
disableDaylightSavingTime Ne SupportsDaylightSavingTime.

Standardní název časového pásma a jeho identifikátor jsou obvykle stejné. Délka identifikátoru časového pásma by ale neměla překročit 32 znaků. Řetězec předaný parametru displayName se řídí poměrně standardním formátem. První část zobrazovaného názvu je základní posun časového pásma od koordinovaného univerzálního času, který je označen zkratkou GMT (pro Greenwich Střední čas) uzavřenou v závorkách. Následuje řetězec, který identifikuje samotné časové pásmo, nebo jedno nebo více měst, oblastí nebo zemí v časovém pásmu nebo obojí. Například:

(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)

Pravidla úprav časového pásma jsou definována následujícím způsobem:

  1. Voláním CreateFloatingDateRule metody nebo CreateFixedDateRule metody definujete pravidla počátečního a koncového přechodu pro každé pravidlo úpravy.

  2. CreateAdjustmentRule Volání metody pro každé pravidlo úpravy.

  3. Přiřazení pravidel úpravy k poli, které lze předat jako adjustmentRules parametr.

Pokud disableDaylightSavingTime je falseparametr , operace této metody je identická s přetížením TimeZoneInfo.CreateCustomTimeZone . Pokud disableDaylightSavingTime je true, vrácený objekt neobsahuje žádná pravidla úpravy a DaylightName vlastnost, jejíž hodnota je prázdný řetězec.

Viz také

Platí pro

CreateCustomTimeZone(String, TimeSpan, String, String)

Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs

Vytvoří vlastní časové pásmo se zadaným identifikátorem, posunem od koordinovaného univerzálního času (UTC), zobrazovaným názvem a standardním zobrazovaným názvem času.

public:
 static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName);
public static TimeZoneInfo CreateCustomTimeZone(string id, TimeSpan baseUtcOffset, string? displayName, string? standardDisplayName);
public static TimeZoneInfo CreateCustomTimeZone(string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName);
static member CreateCustomTimeZone : string * TimeSpan * string * string -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String) As TimeZoneInfo

Parametry

id
String

Identifikátor časového pásma.

baseUtcOffset
TimeSpan

Objekt, který představuje časový rozdíl mezi tímto časovým pásmem a koordinovaným univerzálním časem (UTC).

displayName
String

Zobrazovaný název nového časového pásma

standardDisplayName
String

Název standardního času nového časového pásma.

Návraty

Nové časové pásmo.

Výjimky

Parametr id je null.

Parametr id je prázdný řetězec ("").

nebo

Parametr baseUtcOffset nepředstavuje celý počet minut.

Parametr baseUtcOffset je větší než 14 hodin nebo kratší než -14 hodin.

Příklady

Následující příklad vytvoří vlastní časové pásmo pro oblasti Mawson a Holme Bay Antarktidy. Potom zobrazí výsledek převodu místního času na čas v novém časovém pásmu.

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);
let displayName = "(GMT+06:00) Antarctica/Mawson Time"
let standardName = "Mawson Time" 
let offset = TimeSpan(06, 00, 00)
let mawson = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName)
printfn $"The current time is {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)

Poznámky

Toto přetížení CreateCustomTimeZone(String, TimeSpan, String, String) metody je vhodné pro vytvoření časového pásma, které nemá žádné úpravy (to znamená časové pásmo, které nepodporuje letní čas). K definování časového pásma, které zahrnuje úpravy letního času, použijte buď TimeZoneInfo.CreateCustomTimeZone metodu, nebo metodu TimeZoneInfo.CreateCustomTimeZone .

Následující tabulka ukazuje vztah mezi parametry, které jsou poskytovány metodě TimeZoneInfo.CreateCustomTimeZone a vlastnosti objektu TimeZoneInfo , které jsou vráceny voláním metody.

CreateCustomTimeZone – parametr TimeZoneInfo – vlastnost
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName

Standardní název časového pásma a jeho identifikátor jsou obvykle stejné. Délka identifikátoru časového pásma by ale neměla překročit 32 znaků. Řetězec předaný parametru displayName se řídí poměrně standardním formátem. První část zobrazovaného názvu je základní posun časového pásma od koordinovaného univerzálního času, který je označen zkratkou GMT (pro Greenwich Střední čas) uzavřenou v závorkách. Následuje řetězec, který identifikuje samotné časové pásmo, nebo jedno nebo více měst, oblastí nebo zemí v časovém pásmu nebo obojí. Například:

(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)

Viz také

Platí pro

CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[])

Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs
Zdroj:
TimeZoneInfo.cs

Vytvoří vlastní časové pásmo se zadaným identifikátorem, posunem od koordinovaného univerzálního času (UTC), zobrazovaným názvem, standardním názvem času, názvem letního času a pravidly letního času.

public:
 static TimeZoneInfo ^ CreateCustomTimeZone(System::String ^ id, TimeSpan baseUtcOffset, System::String ^ displayName, System::String ^ standardDisplayName, System::String ^ daylightDisplayName, cli::array <TimeZoneInfo::AdjustmentRule ^> ^ adjustmentRules);
public static TimeZoneInfo CreateCustomTimeZone(string id, TimeSpan baseUtcOffset, string? displayName, string? standardDisplayName, string? daylightDisplayName, TimeZoneInfo.AdjustmentRule[]? adjustmentRules);
public static TimeZoneInfo CreateCustomTimeZone(string id, TimeSpan baseUtcOffset, string displayName, string standardDisplayName, string daylightDisplayName, TimeZoneInfo.AdjustmentRule[] adjustmentRules);
static member CreateCustomTimeZone : string * TimeSpan * string * string * string * TimeZoneInfo.AdjustmentRule[] -> TimeZoneInfo
Public Shared Function CreateCustomTimeZone (id As String, baseUtcOffset As TimeSpan, displayName As String, standardDisplayName As String, daylightDisplayName As String, adjustmentRules As TimeZoneInfo.AdjustmentRule()) As TimeZoneInfo

Parametry

id
String

Identifikátor časového pásma.

baseUtcOffset
TimeSpan

Objekt, který představuje časový rozdíl mezi tímto časovým pásmem a koordinovaným univerzálním časem (UTC).

displayName
String

Zobrazovaný název nového časového pásma

standardDisplayName
String

Standardní název nového časového pásma.

daylightDisplayName
String

Název nového časového pásma pro letní čas.

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

Pole, které rozšiřuje základní posun UTC pro určité období.

Návraty

Objekt TimeZoneInfo , který představuje nové časové pásmo.

Výjimky

Parametr id je null.

Parametr id je prázdný řetězec ("").

nebo

Parametr baseUtcOffset nepředstavuje celý počet minut.

Parametr baseUtcOffset je větší než 14 hodin nebo kratší než -14 hodin.

Pravidla úprav zadaná v parametru adjustmentRules se překrývají.

nebo

Pravidla úpravy zadaná v parametru adjustmentRules nejsou v chronologickém pořadí.

nebo

Jeden nebo více prvků jsou adjustmentRulesnull.

nebo

Datum může obsahovat několik pravidel úpravy.

nebo

Součet parametru baseUtcOffset a DaylightDelta hodnoty jednoho nebo více objektů v adjustmentRules poli je větší než 14 hodin nebo méně než -14 hodin.

Příklady

Následující příklad vytvoří vlastní časové pásmo pro stanici Palmer a Ostrov Anvers v Antarktidě. Potom převede místní čas na čas v novém časovém pásmu a zobrazí výsledek.

// Define transition times to/from DST
TimeZoneInfo.TransitionTime startTransition, endTransition;
startTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 4, 0, 0), 
                                                                  10, 2, DayOfWeek.Sunday); 
endTransition = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 3, 0, 0), 
                                                                3, 2, DayOfWeek.Sunday);
// Define adjustment rule
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment;
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1999, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition);
// Create array for adjustment rules
TimeZoneInfo.AdjustmentRule[] adjustments = {adjustment};
// Define other custom time zone arguments
string displayName = "(GMT-04:00) Antarctica/Palmer Time";
string standardName = "Palmer Time";
string daylightName = "Palmer Daylight Time";
TimeSpan offset = new TimeSpan(-4, 0, 0);
TimeZoneInfo palmer = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments);
Console.WriteLine("The current time is {0} {1}",  
                  TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, palmer), 
                  palmer.StandardName);
// Define transition times to/from DST
let startTransition = 
    TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 4, 0, 0), 10, 2, DayOfWeek.Sunday) 
let endTransition = 
    TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 3, 0, 0), 3, 2, DayOfWeek.Sunday)
// Define adjustment rule
let delta = TimeSpan(1, 0, 0)
let adjustment = 
    TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(1999, 10, 1), DateTime.MaxValue.Date, delta, startTransition, endTransition)
// Create array for adjustment rules
let adjustments = [| adjustment |]
// Define other custom time zone arguments
let displayName = "(GMT-04:00) Antarctica/Palmer Time"
let standardName = "Palmer Time"
let daylightName = "Palmer Daylight Time"
let offset = TimeSpan(-4, 0, 0)
let palmer = 
    TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments)
printfn $"The current time is {TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.Local, palmer)} {palmer.StandardName}"
' Define transition times to/from DST
Dim startTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#04:00:00#, 10, 2, DayOfWeek.Sunday) 
Dim endTransition As TimeZoneInfo.TransitionTime = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#3:00:00#, 3, 2, DayOfWeek.Sunday)
' Define adjustment rule
Dim delta As TimeSpan = New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#10/01/1999#, Date.MaxValue.Date, delta, startTransition, endTransition)
' Create array for adjustment rules
Dim adjustments() As TimeZoneInfo.AdjustmentRule = {adjustment}
' Define other custom time zone arguments
Dim DisplayName As String = "(GMT-04:00) Antarctica/Palmer Time"
Dim standardName As String = "Palmer Standard Time"
Dim daylightName As String = "Palmer Daylight Time"
Dim offset As TimeSpan = New TimeSpan(-4, 0, 0)
Dim palmer As TimeZoneInfo = TimeZoneInfo.CreateCustomTimeZone(standardName, offset, displayName, standardName, daylightName, adjustments)
Console.WriteLine("The current time is {0} {1}", _ 
                  TimeZoneInfo.ConvertTime(Date.Now, TimeZoneInfo.Local, palmer), _
                  palmer.StandardName)

Poznámky

Toto přetížení TimeZoneInfo.CreateCustomTimeZone metody je vhodné pro vytvoření časového pásma, které podporuje letní čas. K definování časového pásma, které nepodporuje letní čas, použijte buď TimeZoneInfo.CreateCustomTimeZone metodu, nebo metodu TimeZoneInfo.CreateCustomTimeZone .

Následující tabulka ukazuje vztah mezi parametry, které jsou k dispozici metodě TimeZoneInfo.CreateCustomTimeZone , a členy objektu TimeZoneInfo , které jsou vráceny voláním metody.

CreateCustomTimeZone – parametr Člen TimeZoneInfo
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName
daylightDisplayName DaylightName
adjustmentRules Pole System.TimeZoneInfo.AdjustmentRule objektů vrácených metodou GetAdjustmentRules .

Standardní název časového pásma a jeho identifikátor jsou obvykle stejné. Délka identifikátoru časového pásma by ale neměla překročit 32 znaků. Řetězec předaný parametru displayName se řídí poměrně standardním formátem. První část zobrazovaného názvu je základní posun časového pásma od koordinovaného univerzálního času, který je označen zkratkou GMT (pro Greenwich Střední čas) uzavřenou v závorkách. Následuje řetězec, který identifikuje samotné časové pásmo, nebo jedno nebo více měst, oblastí nebo zemí v časovém pásmu nebo obojí. Například:

(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)

Parametr baseUtcOffset definuje posun vlastního časového pásma od koordinovaného univerzálního času (UTC) pro všechna pravidla úprav časového pásma. Jinými slovy, objektový model předpokládá, TimeZoneInfo že posun časového pásma od UTC je konstantní po celou dobu životnosti časového pásma a existuje nezávisle na konkrétních pravidlech úprav. Pokud chcete odrážet časové pásmo, které změnilo posun oproti času UTC, musíte vytvořit nový objekt časového pásma.

Pravidla úprav časového pásma jsou definována následujícím způsobem:

  1. Voláním CreateFloatingDateRule metody nebo CreateFixedDateRule metody pro definování počátečního a koncového času přechodu pro každé pravidlo úpravy.

  2. CreateAdjustmentRule Volání metody pro každé pravidlo úpravy.

  3. Přiřazení pravidel úpravy k poli, které lze předat jako adjustmentRules parametr.

Viz také

Platí pro