TimeZoneInfo.CreateCustomTimeZone Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee definieert u een tijdzone die niet op de lokale computer wordt gevonden.
Overloads
| Name | Description |
|---|---|
| CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[], Boolean) |
Hiermee maakt u een aangepaste tijdzone met een opgegeven id, een verschuiving van Coordinated Universal Time (UTC), een weergavenaam, een standaardtijdnaam, een zomertijdnaam, zomertijdregels en een waarde die aangeeft of het geretourneerde object zomertijdgegevens weerspiegelt. |
| CreateCustomTimeZone(String, TimeSpan, String, String) |
Hiermee maakt u een aangepaste tijdzone met een opgegeven id, een offset van Coordinated Universal Time (UTC), een weergavenaam en een standaardtijdweergavenaam. |
| CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[]) |
Hiermee maakt u een aangepaste tijdzone met een opgegeven id, een verschuiving van Coordinated Universal Time (UTC), een weergavenaam, een standaardtijdnaam, een zomertijdnaam en zomertijdregels. |
CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[], Boolean)
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
Hiermee maakt u een aangepaste tijdzone met een opgegeven id, een verschuiving van Coordinated Universal Time (UTC), een weergavenaam, een standaardtijdnaam, een zomertijdnaam, zomertijdregels en een waarde die aangeeft of het geretourneerde object zomertijdgegevens weerspiegelt.
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
Parameters
- id
- String
De id van de tijdzone.
- baseUtcOffset
- TimeSpan
Een TimeSpan object dat het tijdsverschil aangeeft tussen deze tijdzone en Coordinated Universal Time (UTC).
- displayName
- String
De weergavenaam van de nieuwe tijdzone.
- standardDisplayName
- String
De standaardtijdnaam van de nieuwe tijdzone.
- daylightDisplayName
- String
De zomertijdnaam van de nieuwe tijdzone.
- adjustmentRules
- TimeZoneInfo.AdjustmentRule[]
Een matrix met TimeZoneInfo.AdjustmentRule objecten die de utc-basisverrekening voor een bepaalde periode uitbreiden.
- disableDaylightSavingTime
- Boolean
true eventuele zomertijdgerelateerde informatie die bij het nieuwe object aanwezig adjustmentRules is, te negeren, falseanders .
Retouren
De nieuwe tijdzone. Als de disableDaylightSavingTime parameter is true, heeft het geretourneerde object geen zomertijdgegevens.
Uitzonderingen
De id parameter is null.
De id parameter is een lege tekenreeks ("").
– of –
De baseUtcOffset parameter vertegenwoordigt geen geheel aantal minuten.
De baseUtcOffset parameter is groter dan 14 uur of minder dan -14 uur.
De aanpassingsregels die zijn opgegeven in de adjustmentRules parameter overlappen.
– of –
De aanpassingsregels die in de adjustmentRules parameter zijn opgegeven, bevinden zich niet in chronologische volgorde.
– of –
Een of meer elementen zijn adjustmentRulesnull.
– of –
Op een datum kunnen meerdere aanpassingsregels worden toegepast.
– of –
De som van de baseUtcOffset parameter en de DaylightDelta waarde van een of meer objecten in de adjustmentRules matrix is groter dan 14 uur of minder dan -14 uur.
Voorbeelden
In het volgende voorbeeld wordt een aangepaste tijdzone gemaakt voor het Palmer-station en anverseiland in Antarctica. Hiermee stelt u de disableDaylightSavingTime parameter in de aanroep van de TimeZoneInfo.CreateCustomTimeZone methode in op true. Vervolgens wordt de naam van de zomertijd van de nieuwe tijdzone weergegeven, indien aanwezig en het aantal aanpassingsregels om te bevestigen dat de nieuwe tijdzone geen zomertijdinformatie bevat.
// 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)
Opmerkingen
U kunt deze overbelasting van de TimeZoneInfo.CreateCustomTimeZone methode gebruiken om een aangepaste tijdzone te maken waarvan de ondersteuning voor zomertijd kan worden bepaald door omstandigheden tijdens runtime.
In de volgende tabel ziet u de relatie tussen de parameters die worden opgegeven voor de TimeZoneInfo.CreateCustomTimeZone methode en de leden van het TimeZoneInfo object dat wordt geretourneerd door de methode-aanroep.
| Parameter CreateCustomTimeZone | Eigenschap TimeZoneInfo |
|---|---|
id |
Id |
baseUtcOffset |
BaseUtcOffset |
displayName |
DisplayName |
standardDisplayName |
StandardName |
daylightDisplayName |
DaylightNameals is disableDaylightSavingTime; false indien String.EmptydisableDaylightSavingTime is true. |
adjustmentRules |
Een matrix van TimeZoneInfo.AdjustmentRule objecten die worden geretourneerd door de GetAdjustmentRules methode als disableDaylightSavingTime dat het is false; een lege matrix die wordt geretourneerd door de GetAdjustmentRules methode als disableDaylightSavingTime dat het is true. |
disableDaylightSavingTime |
Niet SupportsDaylightSavingTime. |
Normaal gesproken zijn de standaardtijdnaam en de id van de tijdzone hetzelfde. De lengte van de id van de tijdzone mag echter niet langer zijn dan 32 tekens. De tekenreeks die aan de displayName parameter wordt doorgegeven, volgt een redelijk standaardindeling. Het eerste gedeelte van de weergavenaam is de basisverschuiving van de tijdzone van Coordinated Universal Time, die wordt aangegeven door de acroniem GMT (voor Greenwich Mean Time), tussen haakjes. Dit wordt gevolgd door een tekenreeks die de tijdzone zelf identificeert, of een of meer steden, regio's of landen in de tijdzone, of beide. Voorbeeld:
(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)
De aanpassingsregels van een tijdzone worden als volgt gedefinieerd:
CreateFloatingDateRule De of de CreateFixedDateRule methode aanroepen om de begin- en eindovergangsregels voor elke aanpassingsregel te definiëren.
CreateAdjustmentRule De methode aanroepen voor elke aanpassingsregel.
Wijs de aanpassingsregels toe aan een matrix die als parameter
adjustmentRuleskan worden doorgegeven.
Als disableDaylightSavingTime de parameter is false, is de werking van deze methode identiek aan de TimeZoneInfo.CreateCustomTimeZone overbelasting. Als disableDaylightSavingTime dat het is true, bevat het geretourneerde object geen aanpassingsregels en een DaylightName eigenschap waarvan de waarde een lege tekenreeks is.
Zie ook
- Procedure: Tijdzones maken zonder aanpassingsregels
- Procedure: Tijdzones maken met aanpassingsregels
Van toepassing op
CreateCustomTimeZone(String, TimeSpan, String, String)
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
Hiermee maakt u een aangepaste tijdzone met een opgegeven id, een offset van Coordinated Universal Time (UTC), een weergavenaam en een standaardtijdweergavenaam.
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
Parameters
- id
- String
De id van de tijdzone.
- baseUtcOffset
- TimeSpan
Een object dat het tijdsverschil aangeeft tussen deze tijdzone en Coordinated Universal Time (UTC).
- displayName
- String
De weergavenaam van de nieuwe tijdzone.
- standardDisplayName
- String
De naam van de standaardtijd van de nieuwe tijdzone.
Retouren
De nieuwe tijdzone.
Uitzonderingen
De id parameter is null.
De id parameter is een lege tekenreeks ("").
– of –
De baseUtcOffset parameter vertegenwoordigt geen geheel aantal minuten.
De baseUtcOffset parameter is groter dan 14 uur of minder dan -14 uur.
Voorbeelden
In het volgende voorbeeld wordt een aangepaste tijdzone gemaakt voor de regio's Mawson en Holme Bay van Antarctica. Vervolgens wordt het resultaat weergegeven van het converteren van de lokale tijd naar de tijd in de nieuwe tijdzone.
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)
Opmerkingen
Deze overbelasting van de CreateCustomTimeZone(String, TimeSpan, String, String) methode is geschikt voor het maken van een tijdzone zonder aanpassingen (dat wil gezegd een tijdzone die geen zomertijd ondersteunt). Als u een tijdzone wilt definiëren die aanpassingen voor zomertijd bevat, gebruikt u de TimeZoneInfo.CreateCustomTimeZone of de TimeZoneInfo.CreateCustomTimeZone methode.
In de volgende tabel ziet u de relatie tussen de parameters die worden opgegeven voor de TimeZoneInfo.CreateCustomTimeZone methode en de eigenschappen van het TimeZoneInfo object dat wordt geretourneerd door de methode-aanroep.
| Parameter CreateCustomTimeZone | Eigenschap TimeZoneInfo |
|---|---|
id |
Id |
baseUtcOffset |
BaseUtcOffset |
displayName |
DisplayName |
standardDisplayName |
StandardName |
Normaal gesproken zijn de standaardtijdnaam en de id van de tijdzone hetzelfde. De lengte van de id van de tijdzone mag echter niet langer zijn dan 32 tekens. De tekenreeks die aan de displayName parameter wordt doorgegeven, volgt een redelijk standaardindeling. Het eerste gedeelte van de weergavenaam is de basisverschuiving van de tijdzone van Coordinated Universal Time, die wordt aangegeven door de acroniem GMT (voor Greenwich Mean Time), tussen haakjes. Dit wordt gevolgd door een tekenreeks die de tijdzone zelf identificeert, of een of meer steden, regio's of landen in de tijdzone, of beide. Voorbeeld:
(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)
Zie ook
Van toepassing op
CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[])
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
- Bron:
- TimeZoneInfo.cs
Hiermee maakt u een aangepaste tijdzone met een opgegeven id, een verschuiving van Coordinated Universal Time (UTC), een weergavenaam, een standaardtijdnaam, een zomertijdnaam en zomertijdregels.
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
Parameters
- id
- String
De id van de tijdzone.
- baseUtcOffset
- TimeSpan
Een object dat het tijdsverschil aangeeft tussen deze tijdzone en Coordinated Universal Time (UTC).
- displayName
- String
De weergavenaam van de nieuwe tijdzone.
- standardDisplayName
- String
De standaardtijdnaam van de nieuwe tijdzone.
- daylightDisplayName
- String
De zomertijdnaam van de nieuwe tijdzone.
- adjustmentRules
- TimeZoneInfo.AdjustmentRule[]
Een matrix die de basis-UTC-offset voor een bepaalde periode vergroot.
Retouren
Een TimeZoneInfo object dat de nieuwe tijdzone vertegenwoordigt.
Uitzonderingen
De id parameter is null.
De id parameter is een lege tekenreeks ("").
– of –
De baseUtcOffset parameter vertegenwoordigt geen geheel aantal minuten.
De baseUtcOffset parameter is groter dan 14 uur of minder dan -14 uur.
De aanpassingsregels die zijn opgegeven in de adjustmentRules parameter overlappen.
– of –
De aanpassingsregels die in de adjustmentRules parameter zijn opgegeven, bevinden zich niet in chronologische volgorde.
– of –
Een of meer elementen zijn adjustmentRulesnull.
– of –
Op een datum kunnen meerdere aanpassingsregels worden toegepast.
– of –
De som van de baseUtcOffset parameter en de DaylightDelta waarde van een of meer objecten in de adjustmentRules matrix is groter dan 14 uur of minder dan -14 uur.
Voorbeelden
In het volgende voorbeeld wordt een aangepaste tijdzone gemaakt voor het Palmer-station en anverseiland in Antarctica. Vervolgens wordt de lokale tijd geconverteerd naar de tijd in de nieuwe tijdzone en wordt het resultaat weergegeven.
// 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)
Opmerkingen
Deze overbelasting van de TimeZoneInfo.CreateCustomTimeZone methode is geschikt voor het maken van een tijdzone die zomertijd ondersteunt. Als u een tijdzone wilt definiëren die geen zomertijd ondersteunt, gebruikt u de TimeZoneInfo.CreateCustomTimeZone of de TimeZoneInfo.CreateCustomTimeZone methode.
In de volgende tabel ziet u de relatie tussen de parameters die worden opgegeven voor de TimeZoneInfo.CreateCustomTimeZone methode en de leden van het TimeZoneInfo object dat wordt geretourneerd door de methode-aanroep.
| Parameter CreateCustomTimeZone | Lid van TimeZoneInfo |
|---|---|
id |
Id |
baseUtcOffset |
BaseUtcOffset |
displayName |
DisplayName |
standardDisplayName |
StandardName |
daylightDisplayName |
DaylightName |
adjustmentRules |
Een matrix met System.TimeZoneInfo.AdjustmentRule objecten die door de GetAdjustmentRules methode worden geretourneerd. |
Normaal gesproken zijn de standaardtijdnaam en de id van de tijdzone hetzelfde. De lengte van de id van de tijdzone mag echter niet langer zijn dan 32 tekens. De tekenreeks die aan de displayName parameter wordt doorgegeven, volgt een redelijk standaardindeling. Het eerste gedeelte van de weergavenaam is de basisverschuiving van de tijdzone van Coordinated Universal Time, die wordt aangegeven door de acroniem GMT (voor Greenwich Mean Time), tussen haakjes. Dit wordt gevolgd door een tekenreeks die de tijdzone zelf identificeert, of een of meer steden, regio's of landen in de tijdzone, of beide. Voorbeeld:
(GMT+02:00) Athens, Beirut, Istanbul, Minsk
(GMT-02:00) Mid-Atlantic
(GMT-07:00) Mountain Time (US & Canada)
De baseUtcOffset parameter definieert de offset van de aangepaste tijdzone ten opzichte van Coordinated Universal Time (UTC) voor alle aanpassingsregels van de tijdzone. Met andere woorden, het TimeZoneInfo objectmodel gaat ervan uit dat de verschuiving van de tijdzone van UTC gedurende de levensduur van de tijdzone constant is en onafhankelijk van bepaalde aanpassingsregels bestaat. Als u een tijdzone wilt weergeven die de offset van UTC heeft gewijzigd, moet u een nieuw tijdzoneobject maken.
De aanpassingsregels van een tijdzone worden als volgt gedefinieerd:
Het aanroepen van de CreateFloatingDateRule of de CreateFixedDateRule methode voor het definiëren van de begin- en eindovergangstijd voor elke aanpassingsregel.
CreateAdjustmentRule De methode aanroepen voor elke aanpassingsregel.
Wijs de aanpassingsregels toe aan een matrix die als parameter
adjustmentRuleskan worden doorgegeven.