TimeZoneInfo.CreateCustomTimeZone Méthode

Définition

Définit un fuseau horaire qui est introuvable sur l'ordinateur local.Defines a time zone that is not found on the local computer.

Surcharges

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.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, and a standard time display name.

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é.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, and daylight saving time rules.

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é.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, daylight saving time rules, and a value that indicates whether the returned object reflects daylight saving time information.

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.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, and a standard time display name.

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);
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.The time zone's identifier.

baseUtcOffset
TimeSpan

Objet qui représente la différence d'heure entre ce fuseau horaire et le temps universel coordonné.An object that represents the time difference between this time zone and Coordinated Universal Time (UTC).

displayName
String

Nom d'affichage du nouveau fuseau horaire.The display name of the new time zone.

standardDisplayName
String

Nom de l'heure d'hiver du nouveau fuseau horaire.The name of the new time zone's standard time.

Retours

Nouveau fuseau horaire.The new time zone.

Exceptions

Le paramètre id a la valeur null.The id parameter is null.

Le paramètre id est une chaîne vide ("").The id parameter is an empty string ("").

- ou --or- Le paramètre baseUtcOffset ne représente pas un nombre entier de minutes.The baseUtcOffset parameter does not represent a whole number of minutes.

Le paramètre baseUtcOffset est supérieur à 14 heures ou inférieur à -14 heures.The baseUtcOffset parameter is greater than 14 hours or less than -14 hours.

Exemples

L’exemple suivant crée un fuseau horaire personnalisé pour les régions Mawson et Holme Bay de l’Antarctique.The following example creates a custom time zone for the Mawson and Holme Bay regions of Antarctica. Il affiche ensuite le résultat de la conversion de l’heure locale en heure du nouveau fuseau horaire.It then displays the result of converting the local time to the time in the new time zone.

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)      

Remarques

Cette surcharge de la méthode CreateCustomTimeZone(String, TimeSpan, String, String) est appropriée pour créer un fuseau horaire qui n’a aucun ajustement (autrement dit, un fuseau horaire qui ne prend pas en charge l’heure d’été).This overload of the CreateCustomTimeZone(String, TimeSpan, String, String) method is suitable for creating a time zone that has no adjustments (that is, a time zone that does not support daylight saving time). Pour définir un fuseau horaire qui comprend des ajustements pour l’heure d’été, utilisez l' TimeZoneInfo.CreateCustomTimeZone ou la méthode TimeZoneInfo.CreateCustomTimeZone.To define a time zone that includes adjustments for daylight saving time, use either the TimeZoneInfo.CreateCustomTimeZone or the TimeZoneInfo.CreateCustomTimeZone method.

Le tableau suivant montre la relation entre les paramètres fournis à la méthode TimeZoneInfo.CreateCustomTimeZone et les propriétés de l’objet TimeZoneInfo qui sont retournées par l’appel de méthode.The following table shows the relationship between the parameters that are provided to the TimeZoneInfo.CreateCustomTimeZone method and the properties of the TimeZoneInfo object that are returned by the method call.

Paramètre CreateCustomTimeZoneCreateCustomTimeZone parameter TimeZoneInfo, propriétéTimeZoneInfo property
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName

En règle générale, le nom de l’heure d’hiver du fuseau horaire et son identificateur sont identiques.Typically, the time zone's standard time name and its identifier are the same. Toutefois, la longueur de l’identificateur du fuseau horaire ne doit pas dépasser 32 caractères.However, the length of the time zone's identifier should not exceed 32 characters. La chaîne transmise au paramètre displayName suit un format relativement standard.The string passed to the displayName parameter follows a fairly standard format. La première partie du nom complet est le décalage de base du fuseau horaire par rapport au temps universel coordonné, indiqué par l’acronyme GMT (heure de Greenwich), mis entre parenthèses.The first portion of the display name is the time zone's base offset from Coordinated Universal Time, which is indicated by the acronym GMT (for Greenwich Mean Time), enclosed in parentheses. Elle est suivie d’une chaîne qui identifie le fuseau horaire lui-même, ou une ou plusieurs villes, régions ou pays du fuseau horaire, ou les deux.This is followed by a string that identifies the time zone itself, or one or more of the cities, regions, or countries in the time zone, or both. Par exemple :For example:

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

Voir aussi

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é.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, and daylight saving time rules.

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);
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.The time zone's identifier.

baseUtcOffset
TimeSpan

Objet qui représente la différence d'heure entre ce fuseau horaire et le temps universel coordonné.An object that represents the time difference between this time zone and Coordinated Universal Time (UTC).

displayName
String

Nom d'affichage du nouveau fuseau horaire.The display name of the new time zone.

standardDisplayName
String

Nom de l'heure d'hiver du nouveau fuseau horaire.The new time zone's standard time name.

daylightDisplayName
String

Nom de l'heure d'été du nouveau fuseau horaire.The daylight saving time name of the new time zone.

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

Tableau qui augmente l'offset UTC de base pour une période particulière.An array that augments the base UTC offset for a particular period.

Retours

Objet TimeZoneInfo qui représente le nouveau fuseau horaire.A TimeZoneInfo object that represents the new time zone.

Exceptions

Le paramètre id a la valeur null.The id parameter is null.

Le paramètre id est une chaîne vide ("").The id parameter is an empty string ("").

- ou --or- Le paramètre baseUtcOffset ne représente pas un nombre entier de minutes.The baseUtcOffset parameter does not represent a whole number of minutes.

Le paramètre baseUtcOffset est supérieur à 14 heures ou inférieur à -14 heures.The baseUtcOffset parameter is greater than 14 hours or less than -14 hours.

Les règles d’ajustement spécifiées dans le paramètre adjustmentRules se chevauchent.The adjustment rules specified in the adjustmentRules parameter overlap.

- ou --or- Les règles d’ajustement spécifiées dans le paramètre adjustmentRules ne sont pas dans l’ordre chronologique.The adjustment rules specified in the adjustmentRules parameter are not in chronological order.

- ou --or- Un ou plusieurs éléments dans adjustmentRules sont null.One or more elements in adjustmentRules are null.

- ou --or- Plusieurs règles d’ajustement peuvent être appliquées à une date.A date can have multiple adjustment rules applied to it.

- ou --or- 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.The sum of the baseUtcOffset parameter and the DaylightDelta value of one or more objects in the adjustmentRules array is greater than 14 hours or less than -14 hours.

Exemples

L’exemple suivant crée un fuseau horaire personnalisé pour la station Palmer et l’île île Anvers en Antarctique.The following example creates a custom time zone for the Palmer station and Anvers Island in Antarctica. Il convertit ensuite l’heure locale en heure du nouveau fuseau horaire et affiche le résultat.It then converts the local time to the time in the new time zone and displays the result.

// 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
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 TimeZoneInfo.CreateCustomTimeZone est appropriée pour créer un fuseau horaire qui prend en charge l’heure d’été.This overload of the TimeZoneInfo.CreateCustomTimeZone method is suitable for creating a time zone that supports daylight saving time. Pour définir un fuseau horaire qui ne prend pas en charge l’heure d’été, utilisez l' TimeZoneInfo.CreateCustomTimeZone ou la méthode TimeZoneInfo.CreateCustomTimeZone.To define a time zone that does not support daylight saving time, use either the TimeZoneInfo.CreateCustomTimeZone or the TimeZoneInfo.CreateCustomTimeZone method.

Le tableau suivant montre la relation entre les paramètres fournis à la méthode TimeZoneInfo.CreateCustomTimeZone et les membres de l’objet TimeZoneInfo qui sont retournés par l’appel de méthode.The following table shows the relationship between the parameters that are provided to the TimeZoneInfo.CreateCustomTimeZone method and the members of the TimeZoneInfo object that are returned by the method call.

Paramètre CreateCustomTimeZoneCreateCustomTimeZone parameter Membre TimeZoneInfoTimeZoneInfo member
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName
daylightDisplayName DaylightName
adjustmentRules Tableau d’objets System.TimeZoneInfo.AdjustmentRule retournés par la méthode GetAdjustmentRules.An array of System.TimeZoneInfo.AdjustmentRule objects returned by the GetAdjustmentRules method.

En règle générale, le nom de l’heure d’hiver du fuseau horaire et son identificateur sont identiques.Typically, the time zone's standard time name and its identifier are the same. Toutefois, la longueur de l’identificateur du fuseau horaire ne doit pas dépasser 32 caractères.However, the length of the time zone's identifier should not exceed 32 characters. La chaîne transmise au paramètre displayName suit un format relativement standard.The string passed to the displayName parameter follows a fairly standard format. La première partie du nom complet est le décalage de base du fuseau horaire par rapport au temps universel coordonné, indiqué par l’acronyme GMT (heure de Greenwich), mis entre parenthèses.The first portion of the display name is the time zone's base offset from Coordinated Universal Time, which is indicated by the acronym GMT (for Greenwich Mean Time), enclosed in parentheses. Elle est suivie d’une chaîne qui identifie le fuseau horaire lui-même, ou une ou plusieurs villes, régions ou pays du fuseau horaire, ou les deux.This is followed by a string that identifies the time zone itself, or one or more of the cities, regions, or countries in the time zone, or both. Par exemple :For example:

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

Le paramètre baseUtcOffset définit l’offset du fuseau horaire personnalisé à partir du temps universel coordonné (UTC, Universal Time Coordinated) pour toutes les règles d’ajustement du fuseau horaire.The baseUtcOffset parameter defines the custom time zone's offset from Coordinated Universal Time (UTC) for all of the time zone's adjustment rules. En d’autres termes, le modèle d’objet TimeZoneInfo suppose que le décalage du fuseau horaire par rapport à l’heure UTC est constant tout au long de la durée de vie du fuseau horaire, et il existe indépendamment des règles d’ajustement particulières.In other words, the TimeZoneInfo object model assumes that the time zone's offset from UTC is constant throughout the life of the time zone, and exists independent of particular adjustment rules. Pour refléter un fuseau horaire qui a modifié son décalage par rapport à l’heure UTC, vous devez créer un nouvel objet de fuseau horaire.To reflect a time zone that has changed its offset from UTC, you must create a new time zone object.

Les règles d’ajustement d’un fuseau horaire sont définies en procédant comme suit :A time zone's adjustment rules are defined by doing the following:

  1. L’appel de la méthode CreateFloatingDateRule ou CreateFixedDateRule pour définir l’heure de début et de fin de la transition pour chaque règle d’ajustement.Calling either the CreateFloatingDateRule or the CreateFixedDateRule method to define the starting and ending transition time for each adjustment rule.

  2. Appel de la méthode CreateAdjustmentRule pour chaque règle d’ajustement.Calling the CreateAdjustmentRule method for each adjustment rule.

  3. Assignation des règles d’ajustement à un tableau qui peut être passé comme paramètre adjustmentRules.Assigning the adjustment rules to an array that can be passed as the adjustmentRules parameter.

Voir aussi

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é.Creates a custom time zone with a specified identifier, an offset from Coordinated Universal Time (UTC), a display name, a standard time name, a daylight saving time name, daylight saving time rules, and a value that indicates whether the returned object reflects daylight saving time information.

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);
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.The time zone's identifier.

baseUtcOffset
TimeSpan

Objet TimeSpan qui représente le décalage entre ce fuseau horaire et le temps universel coordonné (UTC, Universal Time Coordinated).A TimeSpan object that represents the time difference between this time zone and Coordinated Universal Time (UTC).

displayName
String

Nom d'affichage du nouveau fuseau horaire.The display name of the new time zone.

standardDisplayName
String

Nom de l'heure d'hiver du nouveau fuseau horaire.The standard time name of the new time zone.

daylightDisplayName
String

Nom de l'heure d'été du nouveau fuseau horaire.The daylight saving time name of the new time zone.

adjustmentRules
TimeZoneInfo.AdjustmentRule[]

Tableau d'objets TimeZoneInfo.AdjustmentRule qui augmentent l'offset UTC de base pour une période particulière.An array of TimeZoneInfo.AdjustmentRule objects that augment the base UTC offset for a particular period.

disableDaylightSavingTime
Boolean

true pour ignorer les informations relatives à l'heure d'été contenues dans adjustmentRules avec le nouvel objet ; sinon, false.true to discard any daylight saving time-related information present in adjustmentRules with the new object; otherwise, false.

Retours

Nouveau fuseau horaire.The new time zone. Si le paramètre disableDaylightSavingTime a la valeur true, l'objet retourné ne contient pas de données d'heure d'été.If the disableDaylightSavingTime parameter is true, the returned object has no daylight saving time data.

Exceptions

Le paramètre id a la valeur null.The id parameter is null.

Le paramètre id est une chaîne vide ("").The id parameter is an empty string ("").

- ou --or- Le paramètre baseUtcOffset ne représente pas un nombre entier de minutes.The baseUtcOffset parameter does not represent a whole number of minutes.

Le paramètre baseUtcOffset est supérieur à 14 heures ou inférieur à -14 heures.The baseUtcOffset parameter is greater than 14 hours or less than -14 hours.

Les règles d’ajustement spécifiées dans le paramètre adjustmentRules se chevauchent.The adjustment rules specified in the adjustmentRules parameter overlap.

- ou --or- Les règles d’ajustement spécifiées dans le paramètre adjustmentRules ne sont pas dans l’ordre chronologique.The adjustment rules specified in the adjustmentRules parameter are not in chronological order.

- ou --or- Un ou plusieurs éléments dans adjustmentRules sont null.One or more elements in adjustmentRules are null.

- ou --or- Plusieurs règles d’ajustement peuvent être appliquées à une date.A date can have multiple adjustment rules applied to it.

- ou --or- 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.The sum of the baseUtcOffset parameter and the DaylightDelta value of one or more objects in the adjustmentRules array is greater than 14 hours or less than -14 hours.

Exemples

L’exemple suivant crée un fuseau horaire personnalisé pour la station Palmer et l’île île Anvers en Antarctique.The following example creates a custom time zone for the Palmer station and Anvers Island in Antarctica. Elle définit le paramètre disableDaylightSavingTime dans l’appel à la méthode TimeZoneInfo.CreateCustomTimeZone sur true.It sets the disableDaylightSavingTime parameter in the call to the TimeZoneInfo.CreateCustomTimeZone method to true. Il affiche ensuite le nom de l’heure d’été du nouveau fuseau horaire, s’il en existe un, et le nombre de règles d’ajustement pour confirmer que le nouveau fuseau horaire n’a pas d’informations d’heure d’été.It then displays the new time zone's daylight saving time name, if one is present, and the number of adjustment rules to confirm that the new time zone has no daylight saving time information.

// 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
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 TimeZoneInfo.CreateCustomTimeZone pour créer un fuseau horaire personnalisé dont la prise en charge de l’heure d’été peut être déterminée par les conditions au moment de l’exécution.You can use this overload of the TimeZoneInfo.CreateCustomTimeZone method to create a custom time zone whose support for daylight saving time can be determined by conditions at run time.

Le tableau suivant montre la relation entre les paramètres fournis à la méthode TimeZoneInfo.CreateCustomTimeZone et les membres de l’objet TimeZoneInfo qui sont retournés par l’appel de méthode.The following table shows the relationship between the parameters that are provided to the TimeZoneInfo.CreateCustomTimeZone method and the members of the TimeZoneInfo object that are returned by the method call.

Paramètre CreateCustomTimeZoneCreateCustomTimeZone parameter TimeZoneInfo, propriétéTimeZoneInfo property
id Id
baseUtcOffset BaseUtcOffset
displayName DisplayName
standardDisplayName StandardName
daylightDisplayName DaylightName si disableDaylightSavingTime est false; String.Empty si disableDaylightSavingTime est true.DaylightName if disableDaylightSavingTime is false; String.Empty if disableDaylightSavingTime is true.
adjustmentRules Tableau d’objets TimeZoneInfo.AdjustmentRule retournés par la méthode GetAdjustmentRules si disableDaylightSavingTime est false; Tableau vide retourné par la méthode GetAdjustmentRules si disableDaylightSavingTime est true.An array of TimeZoneInfo.AdjustmentRule objects returned by the GetAdjustmentRules method if disableDaylightSavingTime is false; an empty array returned by the GetAdjustmentRules method if disableDaylightSavingTime is true.
disableDaylightSavingTime Non SupportsDaylightSavingTime.Not SupportsDaylightSavingTime.

En règle générale, le nom de l’heure d’hiver du fuseau horaire et son identificateur sont identiques.Typically, the time zone's standard time name and its identifier are the same. Toutefois, la longueur de l’identificateur du fuseau horaire ne doit pas dépasser 32 caractères.However, the length of the time zone's identifier should not exceed 32 characters. La chaîne transmise au paramètre displayName suit un format relativement standard.The string passed to the displayName parameter follows a fairly standard format. La première partie du nom complet est le décalage de base du fuseau horaire par rapport au temps universel coordonné, indiqué par l’acronyme GMT (heure de Greenwich), mis entre parenthèses.The first portion of the display name is the time zone's base offset from Coordinated Universal Time, which is indicated by the acronym GMT (for Greenwich Mean Time), enclosed in parentheses. Elle est suivie d’une chaîne qui identifie le fuseau horaire lui-même, ou une ou plusieurs villes, régions ou pays du fuseau horaire, ou les deux.This is followed by a string that identifies the time zone itself, or one or more of the cities, regions, or countries in the time zone, or both. Par exemple :For example:

(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 :A time zone's adjustment rules are defined by doing the following:

  1. L’appel de la méthode CreateFloatingDateRule ou CreateFixedDateRule pour définir les règles de transition de début et de fin pour chaque règle d’ajustement.Calling either the CreateFloatingDateRule or the CreateFixedDateRule method to define the starting and ending transition rules for each adjustment rule.

  2. Appel de la méthode CreateAdjustmentRule pour chaque règle d’ajustement.Calling the CreateAdjustmentRule method for each adjustment rule.

  3. Assignation des règles d’ajustement à un tableau qui peut être passé comme paramètre adjustmentRules.Assigning the adjustment rules to an array that can be passed as the adjustmentRules parameter.

Si disableDaylightSavingTime paramètre est false, le fonctionnement de cette méthode est identique à la surcharge TimeZoneInfo.CreateCustomTimeZone.If disableDaylightSavingTime parameter is false, the operation of this method is identical to the TimeZoneInfo.CreateCustomTimeZone overload. Si disableDaylightSavingTime est true, l’objet retourné ne contient aucune règle d’ajustement et une propriété DaylightName dont la valeur est une chaîne vide.If disableDaylightSavingTime is true, the returned object includes no adjustment rules and a DaylightName property whose value is an empty string.

Voir aussi

S’applique à