.net Get Timezone From Datetime

3 min read Jun 03, 2024
.net Get Timezone From Datetime

Obtenir le fuseau horaire à partir d'une date et d'une heure en .NET

En .NET, il est possible d'extraire le fuseau horaire d'un objet DateTime en utilisant la propriété TimeZone. Cette propriété renvoie un objet TimeZoneInfo qui contient des informations détaillées sur le fuseau horaire associé à la date et à l'heure.

Utilisation de la propriété TimeZone

Voici un exemple simple pour obtenir le fuseau horaire à partir d'un objet DateTime:

using System;

public class Program
{
    public static void Main(string[] args)
    {
        // Créer un objet DateTime avec un fuseau horaire spécifique
        DateTime dateTime = DateTime.Now; // Obtient la date et l'heure actuelle
        TimeZoneInfo timeZoneInfo = dateTime.ToUniversalTime().ToTimeZoneInfo(TimeZoneInfo.Local);

        // Afficher les informations du fuseau horaire
        Console.WriteLine("Fuseau horaire : " + timeZoneInfo.DisplayName);
        Console.WriteLine("ID du fuseau horaire : " + timeZoneInfo.Id);
    }
}

Ce code crée un objet DateTime représentant la date et l'heure actuelle. La méthode ToUniversalTime() convertit l'objet DateTime en temps universel coordonné (UTC). Ensuite, la méthode ToTimeZoneInfo() avec l'argument TimeZoneInfo.Local est utilisée pour convertir l'objet DateTime en un objet DateTime dans le fuseau horaire local.

La propriété TimeZone de l'objet DateTime renvoie un objet TimeZoneInfo, qui contient les informations sur le fuseau horaire. Les propriétés DisplayName et Id permettent d'accéder respectivement au nom convivial et à l'identifiant du fuseau horaire.

Exemples d'utilisation

Voici quelques exemples d'utilisation de la propriété TimeZone pour obtenir le fuseau horaire à partir de différentes sources :

  • Date et heure actuelles:
    DateTime dateTime = DateTime.Now;
    TimeZoneInfo timeZoneInfo = dateTime.TimeZone;
    
  • Date et heure spécifiques:
    DateTime dateTime = new DateTime(2023, 10, 26, 10, 0, 0);
    TimeZoneInfo timeZoneInfo = dateTime.TimeZone;
    
  • Date et heure avec fuseau horaire spécifié:
    DateTime dateTime = DateTime.SpecifyKind(new DateTime(2023, 10, 26, 10, 0, 0), DateTimeKind.Utc);
    TimeZoneInfo timeZoneInfo = dateTime.TimeZone;
    

Conclusion

La propriété TimeZone permet d'obtenir facilement le fuseau horaire d'un objet DateTime en .NET. Cette fonctionnalité est utile pour gérer les dates et les heures dans différentes régions du monde et pour convertir des dates et des heures d'un fuseau horaire à un autre.

Related Post