Je me suis demandé quels sont exactement les principes de fonctionnement des deux propriétés. Je sais que le second est universel et ne concerne essentiellement pas les fuseaux horaires, mais est-ce que quelqu'un peut expliquer en détail comment ils fonctionnent et lequel doit être utilisé dans quel scénario?
Réponses
Trop de publicités?Notez également la différence de performance; DateTime.UtcNow est environ 30 fois plus rapide que DateTime.Now, car en interne DateTime.Now effectue de nombreux ajustements de fuseau horaire (vous pouvez facilement le vérifier avec Reflector).
Donc, n'utilisez pas DateTime.Now pour les mesures de temps relatives.
DateTime n'a aucune idée de ce que sont les fuseaux horaires. Cela suppose toujours que vous êtes à l'heure locale. UtcNow signifie seulement "Soustrayez mon fuseau horaire de l'heure".
Si vous souhaitez utiliser des dates compatibles avec les fuseaux horaires, utilisez DateTimeOffset , qui représente une date / heure avec un fuseau horaire. Je devais apprendre ça à la dure.