Partage via


TimeZoneInfo.ConvertTimeBySystemTimeZoneId Méthode

Définition

Convertit une heure en heure d'un autre fuseau horaire selon un identificateur de fuseau horaire.

Surcharges

ConvertTimeBySystemTimeZoneId(DateTime, String)

Convertit une heure en heure d'un autre fuseau horaire selon l'identificateur du fuseau horaire.

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

Convertit une heure en heure d'un autre fuseau horaire selon l'identificateur du fuseau horaire.

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

Convertit une heure d'un fuseau horaire vers une autre selon les identificateurs de fuseau horaire.

ConvertTimeBySystemTimeZoneId(DateTime, String)

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

Convertit une heure en heure d'un autre fuseau horaire selon l'identificateur du fuseau horaire.

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

Paramètres

dateTime
DateTime

Date et heure à convertir.

destinationTimeZoneId
String

Identificateur du fuseau horaire de destination.

Retours

Date et heure dans le fuseau horaire de destination.

Exceptions

destinationTimeZoneId a la valeur null.

L’identificateur de fuseau horaire a été trouvé, mais les données du Registre sont endommagées.

Le processus n’a pas les autorisations nécessaires pour lire la clé de Registre qui contient les informations de fuseau horaire.

L’identificateur destinationTimeZoneId est introuvable sur le système local.

Remarques

Lors de l’exécution de la conversion, la ConvertTimeBySystemTimeZoneId méthode applique toutes les règles d’ajustement en vigueur dans le destinationTimeZoneId fuseau horaire.

Cette surcharge est en grande partie identique à l’appel de la ConvertTime(DateTime, TimeZoneInfo) méthode, sauf 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. Cette méthode est particulièrement utile lorsque vous devez convertir une heure sans récupérer l’objet de fuseau horaire qui lui correspond et que vous n’avez pas besoin de savoir si l’heure convertie est l’heure standard ou l’heure d’été.

La ConvertTimeBySystemTimeZoneId(DateTime, String) méthode détermine le fuseau horaire source à partir de la valeur de la dateTime propriété du Kind paramètre, comme le montre le tableau suivant.

Valeur de la propriété Kind Fuseau horaire source Comportement de la méthode
DateTimeKind.Local Local Convertit l’heure locale en heure dans destinationTimeZone.
DateTimeKind.Utc Utc Convertit le temps universel coordonné (UTC) en heure dans destinationTimeZone.
DateTimeKind.Unspecified Supposé être Local. Convertit l’heure locale en heure dans destinationTimeZone.

La Kind propriété de la valeur retournée DateTime est définie comme indiqué dans le tableau suivant.

Condition Valeur de la propriété Kind renvoyée
destinationTimeZone a la valeur TimeZoneInfo.Utc.Id. DateTimeKind.Utc
Toute autre destinationTimeZone valeur. DateTimeKind.Unspecified

Si la valeur du dateTime paramètre est une heure locale ambiguë, elle est interprétée comme une heure standard. Si le dateTime paramètre est une heure locale non valide, cette méthode lève un ArgumentException.

Si la conversion de dateTime aboutit à une valeur de date et d’heure antérieure DateTime.MinValue ou ultérieure à DateTime.MaxValue, cette méthode retourne DateTime.MinValue ou DateTime.MaxValue, respectivement.

Cette méthode récupère des informations sur le fuseau horaire dont l’identificateur est spécifié par le destinationTimeZoneId paramètre à partir du Registre sur les systèmes Windows et de la bibliothèque iCU sur Linux et macOS. Il ne peut pas récupérer un objet de fuseau horaire créé à l’aide de la CreateCustomTimeZone méthode . Le destinationTimeZoneId paramètre doit correspondre exactement à l’identificateur du fuseau horaire dans la longueur, mais pas au cas où, pour qu’une correspondance réussie se produise; autrement dit, la comparaison de avec les identificateurs de destinationTimeZoneId fuseau horaire ne respecte pas la casse.

Voir aussi

S’applique à

ConvertTimeBySystemTimeZoneId(DateTimeOffset, String)

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

Convertit une heure en heure d'un autre fuseau horaire selon l'identificateur du fuseau horaire.

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

Paramètres

dateTimeOffset
DateTimeOffset

Date et heure à convertir.

destinationTimeZoneId
String

Identificateur du fuseau horaire de destination.

Retours

Date et heure dans le fuseau horaire de destination.

Exceptions

destinationTimeZoneId a la valeur null.

L’identificateur de fuseau horaire a été trouvé, mais les données du Registre sont endommagées.

Le processus n’a pas les autorisations nécessaires pour lire la clé de Registre qui contient les informations de fuseau horaire.

L’identificateur destinationTimeZoneId est introuvable sur le système local.

Remarques

Lors de l’exécution de la conversion, la ConvertTimeBySystemTimeZoneId méthode applique toutes les règles d’ajustement en vigueur dans le destinationTimeZoneId fuseau horaire.

Cette surcharge est identique à l’appel de la ConvertTime(DateTimeOffset, TimeZoneInfo) méthode, sauf 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. Cette méthode est particulièrement utile lorsque vous devez convertir une heure sans récupérer l’objet de fuseau horaire qui lui correspond et que vous n’avez pas besoin de savoir si l’heure convertie est l’heure standard ou l’heure d’été.

Étant donné que le dateTimeOffset paramètre représente une date et une heure avec le décalage de cette heure par rapport au temps universel coordonné (UTC), il ne peut pas représenter une heure ambiguë ou une heure non valide.

Cette méthode récupère le fuseau horaire dont l’identificateur est spécifié par le destinationTimeZoneId paramètre à partir du Registre sur les systèmes Windows et de la bibliothèque d’ICU sur Linux et macOS. Il ne peut pas récupérer un objet de fuseau horaire créé à l’aide de la CreateCustomTimeZone méthode . Le destinationTimeZoneId paramètre doit correspondre exactement à l’identificateur du fuseau horaire dans la longueur, mais pas au cas où, pour qu’une correspondance réussie se produise; autrement dit, la comparaison de avec les identificateurs de destinationTimeZoneId fuseau horaire ne respecte pas la casse.

Lors de la conversion de la dateTimeOffset valeur 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.

Si la conversion de dateTimeOffset aboutit à une valeur de date et d’heure antérieure DateTimeOffset.MinValue ou ultérieure à DateTimeOffset.MaxValue, cette méthode retourne DateTimeOffset.MinValue ou DateTimeOffset.MaxValue, respectivement.

Voir aussi

S’applique à

ConvertTimeBySystemTimeZoneId(DateTime, String, String)

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

Convertit une heure d'un fuseau horaire vers une autre selon les identificateurs de fuseau horaire.

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
Public Shared Function ConvertTimeBySystemTimeZoneId (dateTime As DateTime, sourceTimeZoneId As String, destinationTimeZoneId As String) As DateTime

Paramètres

dateTime
DateTime

Date et heure à convertir.

sourceTimeZoneId
String

Identificateur du fuseau horaire source.

destinationTimeZoneId
String

Identificateur du fuseau horaire de destination.

Retours

Date et l'heure dans le fuseau horaire de destination qui correspond au paramètre dateTime dans le fuseau horaire source.

Exceptions

La propriété Kind du paramètre dateTime ne correspond pas au fuseau horaire source.

- ou -

dateTime est une heure non valide dans le fuseau horaire source.

sourceTimeZoneId a la valeur null.

-ou-

destinationTimeZoneId a la valeur null.

Les identificateurs de fuseau horaire ont été trouvés, mais les données du Registre sont endommagées.

L’utilisateur n’a pas les autorisations nécessaires pour lire les clés de Registre qui contiennent les données de fuseau horaire.

L’identificateur sourceTimeZoneId est introuvable sur le système local.

- ou -

L’identificateur destinationTimeZoneId est introuvable sur le système local.

Exemples

L’exemple suivant utilise la TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime, String, String) méthode pour afficher l’heure qui correspond à l’heure système locale dans huit villes du monde.

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"));
let currentTime = DateTime.Now
printfn "Current Times:\n"
printfn $"""Los Angeles: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Pacific Standard Time")}"""
printfn $"""Chicago: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Central Standard Time")}"""
printfn $"""New York: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Eastern Standard Time")}"""
printfn $"""London: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "GMT Standard Time")}"""
printfn $"""Moscow: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "Russian Standard Time")}"""
printfn $"""New Delhi: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "India Standard Time")}"""
printfn $"""Beijing: {TimeZoneInfo.ConvertTimeBySystemTimeZoneId(currentTime, TimeZoneInfo.Local.Id, "China Standard Time")}"""
printfn $"""Tokyo: {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 ConvertTimeBySystemTimeZoneId méthode applique toutes les règles d’ajustement en vigueur dans le destinationTimeZoneId fuseau horaire.

Bien qu’elle soit similaire à la TimeZoneInfo.ConvertTime(DateTime, TimeZoneInfo, TimeZoneInfo) méthode , 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 TimeZoneInfo objets. Cette méthode est particulièrement utile lorsque vous devez convertir une heure sans récupérer l’objet de fuseau horaire qui lui correspond et que vous n’avez pas besoin de savoir si l’heure convertie est l’heure standard ou l’heure d’été.

Cette méthode récupère les fuseaux horaires dont les identificateurs sont les sourceTimeZoneId paramètres et destinationTimeZoneId à partir du Registre sur les systèmes Windows et de la bibliothèque iCU sur Linux et macOS. Il ne peut pas récupérer les objets de fuseau horaire créés à l’aide de la CreateCustomTimeZone méthode .

La valeur de la Kind propriété du dateTime paramètre doit correspondre au sourceTimeZoneId paramètre, comme le montre le tableau suivant.

Valeur DateTime.Kind valeur sourceTimeZone Comportement de la méthode
DateTimeKind.Utc TimeZoneInfo.Utc.IdEst égal à . dateTime Convertit en heure du fuseau horaire de destination.
DateTimeKind.Utc Does not equal TimeZoneInfo.Utc.Id. Lève un ArgumentException.
DateTimeKind.Local TimeZoneInfo.Local.IdEst égal à . dateTime Convertit en heure du fuseau horaire de destination.
DateTimeKind.Local Does not equal TimeZoneInfo.Local.Id. Lève un ArgumentException.
DateTimeKind.Unspecified Tout. dateTime Convertit en heure du fuseau horaire de destination.

Étant donné qu’elle s’appuie sur les appels à la FindSystemTimeZoneById méthode , la ConvertTimeBySystemTimeZoneId méthode effectue une recherche qui ne respecte pas la casse pour localiser les fuseaux horaires qui correspondent à sourceTimeZoneId et destinationTimeZoneId.

Si la valeur du dateTime paramètre est une heure ambiguë dans le fuseau horaire source, elle est interprétée comme une heure standard. Si le dateTime paramètre est une heure non valide dans le fuseau horaire source, cette méthode lève un ArgumentException.

La Kind propriété de la valeur retournée DateTime 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.

Voir aussi

S’applique à