DateTime vs DateTimeOffset
Source : Stack Overflow [.net],)
DateTimeOffset est une représentation du temps instantané (également connu sous le nom de temps absolu). Par cela, j’entends un moment dans le temps qui est universel pour tout le monde (sans tenir compte des secondes intercalaires, ni des effets relativistes de la dilatation du temps). Une autre façon de représenter le temps instantané est avec un DateTime dont .Kind est DateTimeKind.Utc.
Cela se distingue du temps calendaire (également connu sous le nom de temps civil), qui est une position sur le calendrier de quelqu’un, et il existe de nombreux calendriers différents à travers le monde. Nous appelons ces calendriers des fuseaux horaires. Le temps calendaire est représenté par un DateTime dont .Kind est DateTimeKind.Unspecified, ou DateTimeKind.Local. Et .Local n’a de sens que dans les scénarios où vous avez une compréhension implicite de l’endroit où se trouve l’ordinateur qui utilise le résultat. (Par exemple, le poste de travail d’un utilisateur)
Alors pourquoi DateTimeOffset au lieu d’un DateTime UTC ? C’est une question de perspective. Utilisons une analogie – nous allons faire semblant d’être des photographes.
Imaginez que vous vous tenez sur une ligne temporelle calendaire, pointant un appareil photo vers une personne sur la ligne temporelle instantanée disposée devant vous. Vous alignez votre appareil photo selon les règles de votre fuseau horaire – qui changent périodiquement en raison de l’heure d’été, ou d’autres changements à la définition légale de votre fuseau horaire. (Vous n’avez pas la main stable, donc votre appareil photo tremble.)
La personne dans la photo verrait l’angle sous lequel votre appareil photo est venu. Si d’autres prenaient des photos, elles pourraient être sous des angles différents. C’est ce que représente la partie Offset de DateTimeOffset.
Donc si vous étiquetez votre appareil photo « Eastern Time », parfois vous pointez depuis -5, et parfois vous pointez depuis -4. Il y a des appareils photo partout dans le monde, tous étiquetés différemment, et tous pointant vers la même ligne temporelle instantanée depuis des angles différents. Certains sont juste à côté l’un de l’au
(Réponse tronquée)