Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
.NET fournit des types qui représentent des dates, des heures et des fuseaux horaires. Cet article décrit ces types.
Outre la structure de base DateTime, .NET fournit les classes suivantes qui prennent en charge l’utilisation des fuseaux horaires :
-
Utilisez cette classe pour utiliser n’importe quel fuseau horaire prédéfini sur un système, pour créer de nouveaux fuseaux horaires et pour convertir facilement des dates et des heures d’un fuseau horaire à un autre. Pour le nouveau développement, utilisez la classe TimeZoneInfo au lieu de la classe TimeZone.
-
Utilisez cette structure pour travailler avec des dates et des heures dont le décalage (ou différence) de l’heure UTC est connu. La structure DateTimeOffset combine une valeur de date et d’heure avec le décalage de cette heure par rapport à l’heure UTC. En raison de sa relation avec UTC, une valeur de date et d’heure individuelle identifie sans ambiguïté un point unique dans le temps. Cela rend une valeur DateTimeOffset plus portable d’un ordinateur à une autre qu’une valeur DateTime.
Les classes suivantes pour prendre en charge l’utilisation du temps :
-
Utilisez cette structure pour représenter un intervalle de temps, tel qu’une durée écoulée ou la différence entre deux dates.
-
Utilisez cette structure pour représenter une heure sans date. L’heure représente les heures, les minutes et les secondes d’un jour non spécifique.
TimeOnlya une plage de00:00:00.0000000à23:59:59.9999999. Ce type peut être utilisé pour remplacerDateTimeetTimeSpantypes dans votre code lorsque vous avez utilisé ces types pour représenter une heure. Pour plus d’informations, consultez Comment utiliser les structures DateOnly et TimeOnly.Importante
TimeOnly n’est pas disponible pour .NET Framework.
-
Il s’agit d’une classe de base qui fournit une abstraction du temps. Un moyen courant de vérifier l’heure actuelle consiste à utiliser
DateTime.UtcNowouDateTimeOffset.UtcNow. Toutefois, ces types ne fournissent aucun contrôle sur ce qui est considéré comme « maintenant ». Pourquoi voulez-vous contrôler cela ? Testabilité. Par exemple, envisagez d’écrire une application de suivi des événements qui fournit des rappels 1 jour avant l’événement. La logique de l'application est de vérifier l'heure de l'événement toutes les heures pour alerter l'utilisateur 24 heures avant l'événement. Lorsque vous écrivez vos tests pour l’application, vous devez fournir votre propre type qui encapsuleDateTimeOffset.UtcNowpour tester cette logique, mais maintenant .NET fournit cette classe d’abstraction pour vous.Pour plus d’informations, consultez Qu’est-ce que TimeProvider.
Le type
TimeProviderest inclus dans .NET.Pour .NET Framework et .NET Standard,
TimeProviderest fourni par le package NuGet Microsoft.Bcl.TimeProvider.
Les classes suivantes pour prendre en charge l’utilisation des dates :
-
Utilisez cette structure lors de l’utilisation d’une valeur qui représente uniquement une date. La date représente l’ensemble du jour, du début du jour à la fin.
DateOnlya une plage de0001-01-01à9999-12-31. Et ce type représente la combinaison mois, jour et année sans heure spécifique. Si vous avez précédemment utilisé un typeDateTimedans votre code pour représenter une date qui n’a pas tenu compte de l’heure, utilisez ce type à sa place. Pour plus d’informations, consultez Comment utiliser les structures DateOnly et TimeOnly.Importante
DateOnly n’est pas disponible pour .NET Framework.
La section suivante fournit les informations dont vous avez besoin pour travailler avec des fuseaux horaires et créer des applications prenant en charge les fuseaux horaires qui peuvent convertir des dates et des heures d’un fuseau horaire à un autre.
Contenu de cette section
Vue d’ensemble du fuseau horaire
Décrit la terminologie, les concepts et les problèmes liés à la création d’applications prenant en charge les fuseaux horaires.
choisir entre DateTime, DateTimeOffset, TimeSpan et TimeZoneInfo
Décrit quand utiliser les types DateTime, DateTimeOffsetet TimeZoneInfo lors de l’utilisation des données de date et d’heure.
Recherche des fuseaux horaires définis sur un système local
Décrit comment énumérer les fuseaux horaires trouvés sur un système local.
Procédure : énumérer les fuseaux horaires présents sur un ordinateur
Fournit des exemples qui énumèrent les fuseaux horaires définis dans le Registre d’un ordinateur et qui permettent aux utilisateurs de sélectionner un fuseau horaire prédéfini dans une liste.
Guide pratique pour accéder aux objets UTC et aux objets de fuseau horaire local prédéfinis
Décrit comment accéder au temps universel coordonné et au fuseau horaire local.
Procédure : instancier un objet TimeZoneInfo
Décrit comment instancier un objet TimeZoneInfo à partir du registre système local.
Instanciation d'un objet DateTimeOffset
Décrit les façons dont un objet DateTimeOffset peut être instancié et les façons dont une valeur de DateTime peut être convertie en valeur DateTimeOffset.
Comment : créer des fuseaux horaires sans règles d’ajustement
Décrit comment créer un fuseau horaire personnalisé qui ne prend pas en charge la transition vers et depuis l’heure d’été.
Comment : créer des fuseaux horaires avec des règles d’ajustement
Décrit comment créer un fuseau horaire personnalisé qui prend en charge une ou plusieurs transitions vers et depuis l’heure d’été.
Enregistrer et restaurer les fuseaux horaires
Décrit la prise en charge de TimeZoneInfo pour la sérialisation et la désérialisation des données de fuseau horaire et illustre certains des scénarios dans lesquels ces fonctions peuvent être utilisées.
Comment enregistrer les fuseaux horaires dans une ressource incorporée
Décrit comment créer un fuseau horaire personnalisé et enregistrer ses informations dans un fichier de ressources.
Comment : restaurer des fuseaux horaires à partir d’une ressource incorporée
Décrit comment instancier des fuseaux horaires personnalisés qui ont été enregistrés dans un fichier de ressources incorporé.
effectuer des opérations arithmétiques avec des dates et des heures
Traite des problèmes liés à l’ajout, à la soustraction et à la comparaison des valeurs de DateTime et de DateTimeOffset.
Comment utiliser les fuseaux horaires dans les calculs de date et d'heure
Explique comment effectuer des arithmétiques de date et d’heure qui reflètent les règles d’ajustement d’un fuseau horaire.
Conversion entre DateTime et DateTimeOffset
Décrit comment effectuer une conversion entre les valeurs DateTime et DateTimeOffset.
temps de conversion entre les fuseaux horaires
Décrit comment convertir des heures d’un fuseau horaire à un autre.
Guide pratique pour résoudre des heures ambiguës
Décrit comment résoudre une heure ambiguë en la mappant à l’heure standard du fuseau horaire.
Comment aider les utilisateurs à résoudre les ambiguïtés horaires
Décrit comment permettre à un utilisateur de déterminer le mappage entre une heure locale ambiguë et l’heure universelle coordonnée.