TimeZoneInfo.ConvertTimeBySystemTimeZoneId Méthode

Définition

Convertit une heure en heure d'un autre fuseau horaire selon un identificateur de fuseau horaire.Converts a time to the time in another time zone based on a time zone identifier.

Surcharges

ConvertTimeBySystemTimeZoneId(DateTime, String)

Convertit une heure en heure d'un autre fuseau horaire selon l'identificateur du fuseau horaire.Converts a time to the time in another time zone based on the time zone's identifier.

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Convertit une heure en heure d'un autre fuseau horaire selon l'identificateur du fuseau horaire.Converts a time to the time in another time zone based on the time zone's identifier.

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Convertit une heure d'un fuseau horaire vers une autre selon les identificateurs de fuseau horaire.Converts a time from one time zone to another based on time zone identifiers.

ConvertTimeBySystemTimeZoneId(DateTime, String)

Convertit une heure en heure d'un autre fuseau horaire selon l'identificateur du fuseau horaire.Converts a time to the time in another time zone based on the time zone's identifier.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string -> DateTime

Paramètres

dateTime
DateTime

Date et heure à convertir.The date and time to convert.

destinationTimeZoneId
String

Identificateur du fuseau horaire de destination.The identifier of the destination time zone.

Retours

Date et heure dans le fuseau horaire de destination.The date and time in the destination time zone.

Exceptions

destinationTimeZoneId a la valeur null.destinationTimeZoneId is null.

L’identificateur de fuseau horaire a été trouvé, mais les données du Registre sont endommagées.The time zone identifier was found, but the registry data is corrupted.

Le processus n’a pas les autorisations nécessaires pour lire la clé de Registre qui contient les informations sur le fuseau horaire.The process does not have the permissions required to read from the registry key that contains the time zone information.

L’identificateur destinationTimeZoneId est introuvable sur le système local.The destinationTimeZoneId identifier was not found on the local system.

Remarques

Lors de l’exécution de la conversion, la méthode ConvertTimeBySystemTimeZoneId applique les règles d’ajustement en vigueur dans le fuseau horaire destinationTimeZoneId.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Cette surcharge est largement identique à l’appel de la méthode ConvertTime(DateTime, TimeZoneInfo), à ceci près qu’elle vous permet de spécifier le fuseau horaire de destination par son identificateur plutôt que par une référence d’objet.This overload is largely identical to calling the ConvertTime(DateTime, TimeZoneInfo) method, except that it allows you to specify the destination time zone by its identifier rather than by an object reference. Cette méthode est particulièrement utile lorsque vous devez convertir une heure sans récupérer l’objet de fuseau horaire qui la correspond et que vous n’avez pas besoin de savoir si l’heure convertie est standard ou l’heure d’été.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

La méthode ConvertTimeBySystemTimeZoneId(DateTime, String) détermine le fuseau horaire source à partir de la valeur de la propriété Kind du paramètre dateTime, comme le montre le tableau suivant.The ConvertTimeBySystemTimeZoneId(DateTime, String) method determines the source time zone from the value of the dateTime parameter's Kind property, as the following table shows.

Valeur de la propriété KindKind property value Fuseau horaire sourceSource time zone Comportement de la méthodeMethod behavior
DateTimeKind.Local Local Convertit l’heure locale en heure de destinationTimeZone.Converts the local time to the time in destinationTimeZone.
DateTimeKind.Utc Utc Convertit le temps universel coordonné (UTC, Universal Time Coordinated) en heure de destinationTimeZone.Converts Coordinated Universal Time (UTC) to the time in destinationTimeZone.
DateTimeKind.Unspecified Supposé être Local.Assumed to be Local. Convertit l’heure locale en heure de destinationTimeZone.Converts the local time to the time in destinationTimeZone.

La propriété Kind de la valeur DateTime retournée est définie comme indiqué dans le tableau suivant.The Kind property of the returned DateTime value is set as shown in the following table.

ConditionCondition Valeur de la propriété Kind retournéeReturned Kind property value
destinationTimeZone a la valeur TimeZoneInfo.Utc.Id.The destinationTimeZone is TimeZoneInfo.Utc.Id. DateTimeKind.Utc
Toute autre valeur de destinationTimeZone.Any other destinationTimeZone value. DateTimeKind.Unspecified

Si la valeur du paramètre dateTime est une heure locale ambiguë, elle est interprétée comme une heure d’hiver.If the value of the dateTime parameter is an ambiguous local time, it is interpreted as a standard time. Si le paramètre dateTime est une heure locale non valide, cette méthode lève une ArgumentException.If the dateTime parameter is an invalid local time, this method throws an ArgumentException.

Si la conversion de dateTime produit une valeur de date et d’heure antérieure à DateTime.MinValue ou ultérieure à DateTime.MaxValue, cette méthode retourne respectivement DateTime.MinValue ou DateTime.MaxValue.If the conversion of dateTime results in a date and time value that is earlier than DateTime.MinValue or later than DateTime.MaxValue, this method returns DateTime.MinValue or DateTime.MaxValue, respectively.

Cette méthode récupère des informations sur le fuseau horaire dont l’identificateur est spécifié par le paramètre destinationTimeZoneId du Registre sur les systèmes Windows et à partir de la bibliothèque ICU sur Linux et MacOS.This method retrieves information on the time zone whose identifier is specified by the destinationTimeZoneId parameter from the registry on Windows systems and from the ICU Library on Linux and macOS. Il ne peut pas récupérer un objet de fuseau horaire créé à l’aide de la méthode CreateCustomTimeZone.It cannot retrieve a time zone object that is created using the CreateCustomTimeZone method. Le paramètre destinationTimeZoneId doit correspondre exactement à l’identificateur du fuseau horaire en longueur, mais pas dans le cas, pour qu’une correspondance réussie se produise. autrement dit, la comparaison des destinationTimeZoneId avec les identificateurs de fuseau horaire ne respecte pas la casse.The destinationTimeZoneId parameter must correspond exactly to the time zone's identifier in length, but not in case, for a successful match to occur; that is, the comparison of destinationTimeZoneId with time zone identifiers is case-insensitive.

Voir aussi

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Convertit une heure en heure d'un autre fuseau horaire selon l'identificateur du fuseau horaire.Converts a time to the time in another time zone based on the time zone's identifier.

public:
 static DateTimeOffset ConvertTimeBySystemTimeZoneId(DateTimeOffset dateTimeOffset, System::String ^ destinationTimeZoneId);
public static DateTimeOffset ConvertTimeBySystemTimeZoneId (DateTimeOffset dateTimeOffset, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTimeOffset * string -> DateTimeOffset

Paramètres

dateTimeOffset
DateTimeOffset

Date et heure à convertir.The date and time to convert.

destinationTimeZoneId
String

Identificateur du fuseau horaire de destination.The identifier of the destination time zone.

Retours

Date et heure dans le fuseau horaire de destination.The date and time in the destination time zone.

Exceptions

destinationTimeZoneId a la valeur null.destinationTimeZoneId is null.

L’identificateur de fuseau horaire a été trouvé, mais les données du Registre sont endommagées.The time zone identifier was found but the registry data is corrupted.

Le processus n’a pas les autorisations nécessaires pour lire la clé de Registre qui contient les informations sur le fuseau horaire.The process does not have the permissions required to read from the registry key that contains the time zone information.

L’identificateur destinationTimeZoneId est introuvable sur le système local.The destinationTimeZoneId identifier was not found on the local system.

Remarques

Lors de l’exécution de la conversion, la méthode ConvertTimeBySystemTimeZoneId applique les règles d’ajustement en vigueur dans le fuseau horaire destinationTimeZoneId.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Cette surcharge est identique à l’appel de la méthode ConvertTime(DateTime, TimeZoneInfo), à ceci près qu’elle vous permet de spécifier le fuseau horaire de destination à l’aide de son identificateur plutôt que d’une référence d’objet.This overload is identical to calling the ConvertTime(DateTime, TimeZoneInfo) method, except that it allows you to specify the destination time zone by its identifier rather than by an object reference. Cette méthode est particulièrement utile lorsque vous devez convertir une heure sans récupérer l’objet de fuseau horaire qui la correspond et que vous n’avez pas besoin de savoir si l’heure convertie est standard ou l’heure d’été.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

Étant donné que le paramètre dateTimeOffset représente une date et une heure avec le décalage de cette heure par rapport au temps universel coordonné (UTC, Universal Time Coordinated), il ne peut pas représenter une heure ambiguë ou une heure non valide.Because the dateTimeOffset parameter represents a date and time together with that time's offset from Coordinated Universal Time (UTC), it cannot represent either an ambiguous time or an invalid time.

Cette méthode récupère le fuseau horaire dont l’identificateur est spécifié par le paramètre destinationTimeZoneId du Registre sur les systèmes Windows et à partir de la bibliothèque ICU sur Linux et MacOS.This method retrieves the time zone whose identifier is specified by the destinationTimeZoneId parameter from the registry on Windows systems and from the ICU Library on Linux and macOS. Il ne peut pas récupérer un objet de fuseau horaire créé à l’aide de la méthode CreateCustomTimeZone.It cannot retrieve a time zone object that is created using the CreateCustomTimeZone method. Le paramètre destinationTimeZoneId doit correspondre exactement à l’identificateur du fuseau horaire en longueur, mais pas dans le cas, pour qu’une correspondance réussie se produise. autrement dit, la comparaison des destinationTimeZoneId avec les identificateurs de fuseau horaire ne respecte pas la casse.The destinationTimeZoneId parameter must correspond exactly to the time zone's identifier in length, but not in case, for a successful match to occur; that is, the comparison of destinationTimeZoneId with time zone identifiers is case-insensitive.

Lors de la conversion de la valeur dateTimeOffset en heure dans le fuseau horaire de destination, la méthode prend en compte toutes les règles d’ajustement en vigueur dans le fuseau horaire de destination.In converting the dateTimeOffset value to the time in the destination time zone, the method takes into account any adjustment rules in effect in the destination time zone.

Si la conversion de dateTimeOffset produit une valeur de date et d’heure antérieure à DateTimeOffset.MinValue ou ultérieure à DateTimeOffset.MaxValue, cette méthode retourne respectivement DateTimeOffset.MinValue ou DateTimeOffset.MaxValue.If the conversion of dateTimeOffset results in a date and time value that is earlier than DateTimeOffset.MinValue or later than DateTimeOffset.MaxValue, this method returns DateTimeOffset.MinValue or DateTimeOffset.MaxValue, respectively.

Voir aussi

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Convertit une heure d'un fuseau horaire vers une autre selon les identificateurs de fuseau horaire.Converts a time from one time zone to another based on time zone identifiers.

public:
 static DateTime ConvertTimeBySystemTimeZoneId(DateTime dateTime, System::String ^ sourceTimeZoneId, System::String ^ destinationTimeZoneId);
public static DateTime ConvertTimeBySystemTimeZoneId (DateTime dateTime, string sourceTimeZoneId, string destinationTimeZoneId);
static member ConvertTimeBySystemTimeZoneId : DateTime * string * string -> DateTime

Paramètres

dateTime
DateTime

Date et heure à convertir.The date and time to convert.

sourceTimeZoneId
String

Identificateur du fuseau horaire source.The identifier of the source time zone.

destinationTimeZoneId
String

Identificateur du fuseau horaire de destination.The identifier of the destination time zone.

Retours

Date et l'heure dans le fuseau horaire de destination qui correspond au paramètre dateTime dans le fuseau horaire source.The date and time in the destination time zone that corresponds to the dateTime parameter in the source time zone.

Exceptions

La propriété Kind du paramètre dateTime ne correspond pas au fuseau horaire source.The Kind property of the dateTime parameter does not correspond to the source time zone.

- ou --or- dateTime est une heure non valide dans le fuseau horaire source.dateTime is an invalid time in the source time zone.

sourceTimeZoneId a la valeur null.sourceTimeZoneId is null.

- ou --or- destinationTimeZoneId a la valeur null.destinationTimeZoneId is null.

Les identificateurs de fuseau horaire ont été trouvés, mais les données du Registre sont endommagées.The time zone identifiers were found, but the registry data is corrupted.

L’utilisateur n’a pas les autorisations nécessaires pour lire les clés de Registre qui contiennent les données de fuseau horaire.The user does not have the permissions required to read from the registry keys that hold time zone data.

L’identificateur sourceTimeZoneId est introuvable sur le système local.The sourceTimeZoneId identifier was not found on the local system.

- ou --or- L’identificateur destinationTimeZoneId est introuvable sur le système local.The destinationTimeZoneId identifier was not found on the local system.

Exemples

L’exemple suivant utilise la méthode TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) pour afficher l’heure qui correspond à l’heure locale du système dans huit villes du monde.The following example uses the TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) method to display the time that corresponds to the local system time in eight cities of the world.

DateTime currentTime = DateTime.Now;
Console.WriteLine("Current Times:");
Console.WriteLine();
Console.WriteLine("Los Angeles: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"));
Console.WriteLine("Chicago: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"));
Console.WriteLine("New York: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"));
Console.WriteLine("London: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"));
Console.WriteLine("Moscow: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"));
Console.WriteLine("New Delhi: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"));
Console.WriteLine("Beijing: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"));
Console.WriteLine("Tokyo: {0}", 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"));
Dim currentTime As Date = Date.Now
Console.WriteLine("Current Times:")
Console.WriteLine()
Console.WriteLine("Los Angeles: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time"))
Console.WriteLine("Chicago: {0}", _ 
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time"))
Console.WriteLine("New York: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time"))
Console.WriteLine("London: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time"))
Console.WriteLine("Moscow: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time"))
Console.WriteLine("New Delhi: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time"))
Console.WriteLine("Beijing: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time"))
Console.WriteLine("Tokyo: {0}", _
                  TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Tokyo Standard Time"))

Remarques

Lors de l’exécution de la conversion, la méthode ConvertTimeBySystemTimeZoneId applique les règles d’ajustement en vigueur dans le fuseau horaire destinationTimeZoneId.When performing the conversion, the ConvertTimeBySystemTimeZoneId method applies any adjustment rules in effect in the destinationTimeZoneId time zone.

Bien qu’elle soit semblable à la méthode TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo), vous pouvez utiliser TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) pour spécifier les fuseaux horaires source et de destination à l’aide de leurs identificateurs au lieu de leurs objets TimeZoneInfo.Although it is similar to the TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) method, you can use TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) to specify the source and destination time zones using their identifiers instead of their TimeZoneInfo objects. Cette méthode est particulièrement utile lorsque vous devez convertir une heure sans récupérer l’objet de fuseau horaire qui la correspond et que vous n’avez pas besoin de savoir si l’heure convertie est standard ou l’heure d’été.This method is most useful when you must convert a time without retrieving the time zone object that corresponds to it and you do not need to know whether the converted time is standard or daylight saving time.

Cette méthode récupère les fuseaux horaires dont les identificateurs sont les sourceTimeZoneId et destinationTimeZoneId paramètres du Registre sur les systèmes Windows et à partir de la bibliothèque ICU sur Linux et MacOS.This method retrieves the time zones whose identifiers are the sourceTimeZoneId and destinationTimeZoneId parameters from the registry on Windows systems and from the ICU Library on Linux and macOS. Il ne peut pas récupérer les objets de fuseau horaire créés à l’aide de la méthode CreateCustomTimeZone.It cannot retrieve time zone objects that are created using the CreateCustomTimeZone method.

La valeur de la propriété Kind du paramètre dateTime doit correspondre au paramètre sourceTimeZoneId, comme le montre le tableau suivant.The value of the Kind property of the dateTime parameter must correspond to the sourceTimeZoneId parameter, as the following table shows.

Valeur DateTime. KindDateTime.Kind value valeur sourceTimeZonesourceTimeZone value Comportement de la méthodeMethod behavior
DateTimeKind.Utc Est égal à TimeZoneInfo.Utc.Id.Equals TimeZoneInfo.Utc.Id. Convertit dateTime en heure du fuseau horaire de destination.Converts dateTime to the destination time zone's time.
DateTimeKind.Utc Does not equal TimeZoneInfo.Utc.Id.Does not equal TimeZoneInfo.Utc.Id. Lève une ArgumentException.Throws an ArgumentException.
DateTimeKind.Local Est égal à TimeZoneInfo.Local.Id.Equals TimeZoneInfo.Local.Id. Convertit dateTime en heure du fuseau horaire de destination.Converts dateTime to the destination time zone's time.
DateTimeKind.Local Does not equal TimeZoneInfo.Local.Id.Does not equal TimeZoneInfo.Local.Id. Lève une ArgumentException.Throws an ArgumentException.
DateTimeKind.Unspecified Aux.Any. Convertit dateTime en heure du fuseau horaire de destination.Converts dateTime to the destination time zone's time.

Étant donné qu’elle s’appuie sur les appels à la méthode FindSystemTimeZoneById, la méthode ConvertTimeBySystemTimeZoneId effectue une recherche qui ne respecte pas la casse pour localiser les fuseaux horaires qui correspondent à sourceTimeZoneId et destinationTimeZoneId.Because it relies on calls to the FindSystemTimeZoneById method, the ConvertTimeBySystemTimeZoneId method performs a case-insensitive search to locate the time zones that correspond to sourceTimeZoneId and destinationTimeZoneId.

Si la valeur du paramètre dateTime est une heure ambiguë dans le fuseau horaire source, elle est interprétée comme une heure d’hiver.If the value of the dateTime parameter is an ambiguous time in the source time zone, it is interpreted as a standard time. Si le paramètre dateTime est une heure non valide dans le fuseau horaire source, cette méthode lève une ArgumentException.If the dateTime parameter is an invalid time in the source time zone, this method throws an ArgumentException.

La propriété Kind de la valeur DateTime retournée est définie sur DateTimeKind.Unspecified, sauf si le fuseau horaire de destination est temps universel coordonné (UTC), auquel cas elle est définie sur DateTimeKind.Utc.The Kind property of the returned DateTime value is set to DateTimeKind.Unspecified unless the destination time zone is Coordinated Universal Time (UTC), in which case it is set to DateTimeKind.Utc.

Voir aussi

S’applique à