2009-11-04 4 views
0

Je gère actuellement la concurrence sur ma page en utilisant un champ DateTime. Les données sont transmises via ASP.NET à l'aide d'un fichier XML fourni avec Timezone. Donc, pour ajuster le fuseau horaire, j'ajoute 4 heures au temps reçu (EST) dans ma procédure, puis je compare.XML Timezone - Daylight Saving

Maintenant, tout fonctionnait bien jusqu'au 1er novembre. Maintenant, le temps que je reçois est de 5 heures en retard dans SQL Server et la comparaison échoue.

J'ai besoin de savoir comment gérer une telle situation? Y a-t-il une meilleure façon de faire cela?

J'espère que je suis clair avec la question. Faites-moi savoir si d'autres informations sont nécessaires.

Répondre

1

Consultez le TimeZoneInfo class. Il vous permet de convertir entre les fuseaux horaires, et de déterminer le fuseau horaire local en utilisant la propriété TimeZoneInfo.Local.

+0

Gère-t-il également l'économie de DayLight? –

+0

Je pense que l'heure d'été est un fuseau horaire distinct de la norme, et il existe une méthode qui répertorie tous les fuseaux horaires de votre système. Vous trouverez probablement EST et EDT comme deux fuseaux horaires dans la liste. TimeZoneInfo.Local devrait juste retourner celui sur lequel votre système est actuellement défini. Si vous voulez un fuseau horaire spécifique, il y a probablement une autre méthode qui le recherchera en fonction du code. –