J'ai une application héritée qui utilise les informations de fuseau horaire de Windows pour calculer les dates. Par exemple, 35 = côte est, 20 = centre, 15 = montagne. Voici la fonction actuelle. Il prend une date avec un fuseau horaire et le convertit en fuseau horaire. Cela fonctionne très bien sur xp, mais il se bloque sous Windows 7. Je suppose que cela concerne la partie win32 ou Windows 7 gère les fuseaux horaires différemment .Problèmes de fuseau horaire VB.net
Je préférerais ne pas changer le format du fuseau horaire car cela pourrait causer des problèmes. Le code est vb.net et je ne l'ai pas écrit.
Public Shared Function ConvertTime(ByVal time As Date, ByVal timeZone As Integer) As Date
Dim UtcNow As Date = time.ToUniversalTime
Dim selectedTimeZone As TimeZones.Win32.Win32TimeZone = TimeZones.Win32.TimeZones.GetTimeZone(timeZone)
Return selectedTimeZone.ToLocalTime(UtcNow)
End Function
Avez-vous déjà rencontré ce problème?
.NET La raison pour laquelle il ne fonctionne pas pour quoi que ce soit après Windows XP devient le décalage horaire nécessite privliages élevée. C'est assez simple à faire dans l'écode. Bien sûr, vous n'avez pas besoin d'utiliser la fonction Win32 pour déterminer l'heure et le fuseau horaire du système. La bibliothèque Win32 fonctionne exactement de la même manière. –