TimeZoneInfo.CreateCustomTimeZone Méthode

Définition

Définit un fuseau horaire qui est introuvable sur l'ordinateur local.

Surcharges

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

Crée un fuseau horaire personnalisé avec un identificateur spécifié, un offset de temps universel coordonné (UTC, Universal Time Coordinated), un nom d'affichage, un nom d'heure d'hiver, un nom d'heure d'été, des règles d'heure d'été et une valeur qui indique si l'objet retourné reflète les informations d'heure d'été.

CreateCustomTimeZone(String, TimeSpan, String, String)

Crée un fuseau horaire personnalisé avec un identificateur spécifié, un offset de temps universel coordonné (UTC, Universal Time Coordinated), un nom d'affichage et un nom d'affichage de l'heure d'hiver.

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

Crée un fuseau horaire personnalisé avec un identificateur spécifié, un offset de temps universel coordonné (UTC, Universal Time Coordinated), un nom d'affichage, un nom d'heure d'hiver, un nom d'heure d'été et des règles d'heure d'été.

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

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

Crée un fuseau horaire personnalisé avec un identificateur spécifié, un offset de temps universel coordonné (UTC, Universal Time Coordinated), un nom d'affichage, un nom d'heure d'hiver, un nom d'heure d'été, des règles d'heure d'été et une valeur qui indique si l'objet retourné reflète les informations d'heure d'été.

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

Paramètres

id
String

Identificateur du fuseau horaire.

baseUtcOffset
TimeSpan

Objet TimeSpan qui représente le décalage entre ce fuseau horaire et le temps universel coordonné (UTC, Universal Time Coordinated).

displayName
String

Nom d'affichage du nouveau fuseau horaire.

standardDisplayName
String

Nom de l'heure d'hiver du nouveau fuseau horaire.

daylightDisplayName
String

Nom de l'heure d'été du nouveau fuseau horaire.

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

Tableau d'objets TimeZoneInfo.AdjustmentRule qui augmentent l'offset UTC de base pour une période particulière.

disableDaylightSavingTime
Boolean

true pour ignorer les informations relatives à l'heure d'été contenues dans adjustmentRules avec le nouvel objet ; sinon, false.

Retours

Nouveau fuseau horaire. Si le paramètre disableDaylightSavingTime a la valeur true, l'objet retourné ne contient pas de données d'heure d'été.

Exceptions

Le paramètre id a la valeur null.

Le paramètre id est une chaîne vide ("").

- ou -

Le paramètre baseUtcOffset ne représente pas un nombre entier de minutes.

Le paramètre baseUtcOffset est supérieur à 14 heures ou inférieur à -14 heures.

Les règles d’ajustement spécifiées dans le paramètre adjustmentRules se chevauchent.

- ou -

Les règles d’ajustement spécifiées dans le paramètre adjustmentRules ne sont pas dans l’ordre chronologique.

- ou -

Un ou plusieurs éléments dans adjustmentRules sont null.

- ou -

Plusieurs règles d’ajustement peuvent être appliquées à une date.

- ou -

La somme du paramètre baseUtcOffset et de la valeur DaylightDelta d’un ou plusieurs objets dans le tableau adjustmentRules est supérieure à 14 heures ou inférieure à -14 heures.

Exemples

L’exemple suivant crée un fuseau horaire personnalisé pour la station Palmer et l’île d’Anvers en Antarctique. Il définit le disableDaylightSavingTime paramètre dans l’appel à la méthode sur TimeZoneInfo.CreateCustomTimeZonetrue. Il affiche ensuite le nom de l’heure d’été du nouveau fuseau horaire, le cas échéant, et le nombre de règles d’ajustement pour confirmer que le nouveau fuseau horaire n’a pas d’informations d’heure d’été.

// 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)

Remarques

Vous pouvez utiliser cette surcharge de la méthode pour créer un fuseau horaire personnalisé dont la TimeZoneInfo.CreateCustomTimeZone prise en charge de l’heure d’été peut être déterminée par les conditions au moment de l’exécution.

Le tableau suivant montre la relation entre les paramètres fournis à la TimeZoneInfo.CreateCustomTimeZone méthode et les membres de l’objet TimeZoneInfo retournés par l’appel de méthode.

Paramètre CreateCustomTimeZone Propriété TimeZoneInfo
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName
daylightDisplayName DaylightName si disableDaylightSavingTime est false; String.Empty si disableDaylightSavingTime est true.
adjustmentRules Tableau d’objets TimeZoneInfo.AdjustmentRule retourné par la GetAdjustmentRules méthode si disableDaylightSavingTime est false; tableau vide retourné par la GetAdjustmentRules méthode si disableDaylightSavingTime est true.
disableDaylightSavingTime Pas SupportsDaylightSavingTime.

En règle générale, le nom d’heure standard du fuseau horaire et son identificateur sont les mêmes. Toutefois, la longueur de l’identificateur du fuseau horaire ne doit pas dépasser 32 caractères. La chaîne passée au displayName paramètre suit un format assez standard. La première partie du nom d’affichage est le décalage de base du fuseau horaire par rapport au temps universel coordonné, qui est indiqué par l’acronyme GMT (pour Greenwich Mean Time), placé entre parenthèses. Cette chaîne est suivie d’une chaîne qui identifie le fuseau horaire lui-même, ou une ou plusieurs des villes, régions ou pays du fuseau horaire, ou les deux. Exemple :

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

Les règles d’ajustement d’un fuseau horaire sont définies en procédant comme suit :

  1. Appel de la CreateFloatingDateRuleCreateFixedDateRule méthode ou pour définir les règles de transition de début et de fin pour chaque règle d’ajustement.

  2. Appel de la CreateAdjustmentRule méthode pour chaque règle d’ajustement.

  3. Affectation des règles d’ajustement à un tableau qui peut être passé en tant que adjustmentRules paramètre.

Si disableDaylightSavingTime le paramètre est false, l’opération de cette méthode est identique à la TimeZoneInfo.CreateCustomTimeZone surcharge. Si disableDaylightSavingTime est true, l’objet retourné n’inclut aucune règle d’ajustement et une DaylightName propriété dont la valeur est une chaîne vide.

Voir aussi

S’applique à

CreateCustomTimeZone(String, TimeSpan, String, String)

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

Crée un fuseau horaire personnalisé avec un identificateur spécifié, un offset de temps universel coordonné (UTC, Universal Time Coordinated), un nom d'affichage et un nom d'affichage de l'heure d'hiver.

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

Paramètres

id
String

Identificateur du fuseau horaire.

baseUtcOffset
TimeSpan

Objet qui représente la différence d'heure entre ce fuseau horaire et le temps universel coordonné.

displayName
String

Nom d'affichage du nouveau fuseau horaire.

standardDisplayName
String

Nom de l'heure d'hiver du nouveau fuseau horaire.

Retours

Nouveau fuseau horaire.

Exceptions

Le paramètre id a la valeur null.

Le paramètre id est une chaîne vide ("").

- ou -

Le paramètre baseUtcOffset ne représente pas un nombre entier de minutes.

Le paramètre baseUtcOffset est supérieur à 14 heures ou inférieur à -14 heures.

Exemples

L’exemple suivant crée un fuseau horaire personnalisé pour les régions de Mawson et holme Bay de l’Antarctique. Il affiche ensuite le résultat de la conversion de l’heure locale en heure dans le nouveau fuseau horaire.

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)

Remarques

Cette surcharge de la méthode convient à la CreateCustomTimeZone(String, TimeSpan, String, String) création d’un fuseau horaire sans ajustements (autrement dit, un fuseau horaire qui ne prend pas en charge l’heure d’été). Pour définir un fuseau horaire qui inclut des ajustements pour l’heure d’été, utilisez la TimeZoneInfo.CreateCustomTimeZone méthode ou TimeZoneInfo.CreateCustomTimeZone .

Le tableau suivant montre la relation entre les paramètres fournis à la TimeZoneInfo.CreateCustomTimeZone méthode et les propriétés de l’objet TimeZoneInfo qui sont retournées par l’appel de méthode.

Paramètre CreateCustomTimeZone Propriété TimeZoneInfo
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName

En règle générale, le nom d’heure standard du fuseau horaire et son identificateur sont les mêmes. Toutefois, la longueur de l’identificateur du fuseau horaire ne doit pas dépasser 32 caractères. La chaîne passée au displayName paramètre suit un format assez standard. La première partie du nom d’affichage est le décalage de base du fuseau horaire par rapport au temps universel coordonné, qui est indiqué par l’acronyme GMT (pour Greenwich Mean Time), placé entre parenthèses. Cette chaîne est suivie d’une chaîne qui identifie le fuseau horaire lui-même, ou une ou plusieurs des villes, régions ou pays du fuseau horaire, ou les deux. Exemple :

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

Voir aussi

S’applique à

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

Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs
Source:
TimeZoneInfo.cs

Crée un fuseau horaire personnalisé avec un identificateur spécifié, un offset de temps universel coordonné (UTC, Universal Time Coordinated), un nom d'affichage, un nom d'heure d'hiver, un nom d'heure d'été et des règles d'heure d'été.

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

Paramètres

id
String

Identificateur du fuseau horaire.

baseUtcOffset
TimeSpan

Objet qui représente la différence d'heure entre ce fuseau horaire et le temps universel coordonné.

displayName
String

Nom d'affichage du nouveau fuseau horaire.

standardDisplayName
String

Nom de l'heure d'hiver du nouveau fuseau horaire.

daylightDisplayName
String

Nom de l'heure d'été du nouveau fuseau horaire.

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

Tableau qui augmente l'offset UTC de base pour une période particulière.

Retours

Objet TimeZoneInfo qui représente le nouveau fuseau horaire.

Exceptions

Le paramètre id a la valeur null.

Le paramètre id est une chaîne vide ("").

- ou -

Le paramètre baseUtcOffset ne représente pas un nombre entier de minutes.

Le paramètre baseUtcOffset est supérieur à 14 heures ou inférieur à -14 heures.

Les règles d’ajustement spécifiées dans le paramètre adjustmentRules se chevauchent.

- ou -

Les règles d’ajustement spécifiées dans le paramètre adjustmentRules ne sont pas dans l’ordre chronologique.

- ou -

Un ou plusieurs éléments dans adjustmentRules sont null.

- ou -

Plusieurs règles d’ajustement peuvent être appliquées à une date.

- ou -

La somme du paramètre baseUtcOffset et de la valeur DaylightDelta d’un ou plusieurs objets dans le tableau adjustmentRules est supérieure à 14 heures ou inférieure à -14 heures.

Exemples

L’exemple suivant crée un fuseau horaire personnalisé pour la station Palmer et l’île d’Anvers en Antarctique. Il convertit ensuite l’heure locale en heure dans le nouveau fuseau horaire et affiche le résultat.

// 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)

Remarques

Cette surcharge de la méthode convient à la TimeZoneInfo.CreateCustomTimeZone création d’un fuseau horaire prenant en charge l’heure d’été. Pour définir un fuseau horaire qui ne prend pas en charge l’heure d’été, utilisez la TimeZoneInfo.CreateCustomTimeZoneTimeZoneInfo.CreateCustomTimeZone méthode ou .

Le tableau suivant montre la relation entre les paramètres fournis à la TimeZoneInfo.CreateCustomTimeZone méthode et les membres de l’objet TimeZoneInfo retournés par l’appel de méthode.

Paramètre CreateCustomTimeZone Membre TimeZoneInfo
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName
daylightDisplayName DaylightName
adjustmentRules Tableau d’objets System.TimeZoneInfo.AdjustmentRule retournés par la GetAdjustmentRules méthode .

En règle générale, le nom d’heure standard du fuseau horaire et son identificateur sont les mêmes. Toutefois, la longueur de l’identificateur du fuseau horaire ne doit pas dépasser 32 caractères. La chaîne passée au displayName paramètre suit un format assez standard. La première partie du nom d’affichage est le décalage de base du fuseau horaire par rapport au temps universel coordonné, qui est indiqué par l’acronyme GMT (pour Greenwich Mean Time), placé entre parenthèses. Cette chaîne est suivie d’une chaîne qui identifie le fuseau horaire lui-même, ou une ou plusieurs des villes, régions ou pays du fuseau horaire, ou les deux. Exemple :

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

Le baseUtcOffset paramètre définit le décalage du fuseau horaire personnalisé par rapport au temps universel coordonné (UTC) pour toutes les règles d’ajustement du fuseau horaire. En d’autres termes, le TimeZoneInfo modèle objet suppose que le décalage du fuseau horaire par rapport à UTC est constant pendant toute la durée de vie du fuseau horaire et existe indépendamment des règles d’ajustement particulières. Pour refléter un fuseau horaire qui a changé son décalage par rapport à UTC, vous devez créer un objet fuseau horaire.

Les règles d’ajustement d’un fuseau horaire sont définies en procédant comme suit :

  1. Appel de la CreateFloatingDateRuleCreateFixedDateRule méthode ou pour définir le temps de transition de début et de fin pour chaque règle d’ajustement.

  2. Appel de la CreateAdjustmentRule méthode pour chaque règle d’ajustement.

  3. Affectation des règles d’ajustement à un tableau qui peut être passé en tant que adjustmentRules paramètre.

Voir aussi

S’applique à