TimeZoneInfo.ConvertTimeBySystemTimeZoneId Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.Id Est é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.Id Est é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.