Runtime: TimeZones et DateTimeOffset

Créé le 27 nov. 2019  ·  1Commentaire  ·  Source: dotnet/runtime

_Ce problème a été déplacé d' un ticket sur la communauté des développeurs ._


Actuellement, DateTimeOffset manque dans les options de conversion de fuseau horaire et l'API Windows pour TimeZoneInfo ne prend pas en charge DateTimeOffset

cela conduit à devoir écrire du code pour convertir un décalage date/heure en une date/heure, puis à utiliser TimeZoneInfo pour convertir en une nouvelle date/heure, puis revenir à un DateTimeOffset afin que le moment et le fuseau horaire souhaités soient conservés.

cet ensemble de conversions entre les formats et les appels d'API associés crée la possibilité d'erreurs de conversion qui peuvent ne pas être faciles à repérer si le développeur n'est pas parfaitement familiarisé avec les détails des fuseaux horaires.

Je pense qu'un nouvel ensemble de méthodes ou une nouvelle bibliothèque de classes soit créé qui unifie TimeZoneInfo et DateTimeOffset pour permettre à un développeur de demander qu'un datetimeoffset soit converti en un nouveau fuseau horaire et n'ait pas besoin d'entrer dans une chaîne de conversions. cela réduirait les erreurs et simplifierait l'utilisation de DateTimeOffset pour la plupart des développeurs


Commentaires originaux

Denny Figuerres le 15/03/2019, 08:16:

également DateTimeOffset ToLocal assume la date heure/fuseau horaire des serveurs qui ne donne aucune option pour convertir en un fuseau horaire d'utilisateurs pour une application sur le Web, le client peut être dans un fuseau horaire différent de celui du client du navigateur.

et un navigateur peut avoir besoin de voir une date pour un fuseau horaire dans lequel il ne se trouve pas.

Jane Wu [MSFT] le 18/03/2019, 01:36:

Merci d'avoir pris le temps de fournir votre suggestion. Nous ferons quelques vérifications préliminaires pour nous assurer que nous pouvons aller plus loin. Nous fournirons une mise à jour une fois que le problème aura été trié par l'équipe produit.

api-needs-work api-suggestion area-System.Runtime

Commentaire le plus utile

également DateTimeOffset ToLocal assume la date heure/fuseau horaire des serveurs qui ne donne aucune option pour convertir en un fuseau horaire d'utilisateurs pour une application sur le Web, le client peut être dans un fuseau horaire différent de celui du client du navigateur.

et un navigateur peut avoir besoin de voir une date pour un fuseau horaire dans lequel il ne se trouve pas.

Cette. C'est pourquoi DateTimeKind est cassé. Utc / Local / Unknown (ou Other dans des API similaires) montrent une incompréhension du domaine.

Je répète que nous devrions fournir une API de date/heure complète et moderne, qui ressemblerait à java.time et NodaTime.
Notez que dans la plupart des cas, DateTimeOffset n'est pas non plus le type de domaine approprié, car les informations non absolues sont généralement mieux enregistrées sous la forme d'un DateTimeZoned (qui met automatiquement à jour le décalage lors de l'ajout à tout moment).

>Tous les commentaires

également DateTimeOffset ToLocal assume la date heure/fuseau horaire des serveurs qui ne donne aucune option pour convertir en un fuseau horaire d'utilisateurs pour une application sur le Web, le client peut être dans un fuseau horaire différent de celui du client du navigateur.

et un navigateur peut avoir besoin de voir une date pour un fuseau horaire dans lequel il ne se trouve pas.

Cette. C'est pourquoi DateTimeKind est cassé. Utc / Local / Unknown (ou Other dans des API similaires) montrent une incompréhension du domaine.

Je répète que nous devrions fournir une API de date/heure complète et moderne, qui ressemblerait à java.time et NodaTime.
Notez que dans la plupart des cas, DateTimeOffset n'est pas non plus le type de domaine approprié, car les informations non absolues sont généralement mieux enregistrées sous la forme d'un DateTimeZoned (qui met automatiquement à jour le décalage lors de l'ajout à tout moment).

Cette page vous a été utile?
0 / 5 - 0 notes