Comment calculer la différence entre les fuseaux horaires en VB6

Comment calculer la différence entre les fuseaux horaires en VB6

Visual Basic est livré avec un certain nombre d'outils d'analyse de fuseaux horaires. Le "TimeZoneInfo" type de variable vous permet de définir des fuseaux horaires spécifiques comme variables. Opérations vous permettent de vérifier le temps dans ces différents fuseaux horaires et de convertir ces temps de leurs propres variables. Un ensemble distinct des opérations manipuler des dates et heures, trouver la différence entre les deux périodes que vous avez définies dans les différents fuseaux horaires.

Explication

Créer un programme Visual Basic à partir du code Microsoft suivante pour répertorier les ID de fuseau horaire de votre registre: Importations Les importations System.Collections.ObjectModel System.Globalization importations Module System.IO Exemple Public Sub Main () Const OutputfileName As String = "C: \ Temp \ TimeZoneInfo.txt "Zones de temps Dim tant ReadOnlyCollection (De TimeZoneInfo) = TimeZoneInfo.GetSystemTimeZones () de sw Dim Comme StreamWriter = New StreamWriter (OutputfileName, False) Pour chaque fuseauHoraire Comme TimeZoneInfo dans les zones de temps hasDST Dim As Boolean = timeZone.SupportsDaylightSavingTime Dim offsetFromUtc Comme TimeSpan = timeZone.BaseUtcOffset Dim adapter les règles () As System.TimeZoneInfo.AdjustmentRule Dim compensé cordes As String sw.WriteLine ("ID: {0}", timeZone.Id) sw.WriteLine ("Nom d'affichage: {0, 40} ", timeZone.DisplayName) sw.WriteLine (" Standard Nom: {0, 39} ", timeZone.StandardName) sw.Write (" Nom de la lumière du jour: {0, 39} ", timeZone.DaylightName) sw.Write ( iif (hasDST, "*** A», «*** n'a pas")) sw.WriteLine ("Heure d'été ***") compenser String = string.format ("{0} heures, {1} minutes ", offsetFromUtc.Hours, offsetFromUtc.Minutes) sw.WriteLine (" Décalage de l'UTC: {0, 40} ", le décalage String) adapter les règles = timeZone.GetAdjustmentRules () sw.WriteLine (" Nombre de règles d'ajustement: {0 , 26} ", adjustRules.Length) Si adjustRules.Length> 0 Then sw.WriteLine (« Règles d'ajustement: ») pour chaque règle Comme TimeZoneInfo.AdjustmentRule Dans ajuster Règles Dim transTimeStart Comme TimeZoneInfo.TransitionTime = rule.DaylightTransitionStart Dim transTimeEnd Comme TimeZoneInfo .TransitionTime = rule.DaylightTransitionEnd sw.WriteLine ("Du {0} {1}", rule.DateStart, rule.DateEnd) sw.WriteLine ("Delta: {0}", rule.DaylightDelta) Si Non transTimeStart.IsFixedDateRule sw.WriteLine ("commence à {0: t} sur {1} de la semaine {2} de {3}", transTimeStart.TimeOfDay, _ transTimeStart.DayOfWeek, _ transTimeStart.Week, _ MonthName (transTimeStart.Month)) sw .WriteLine ("termine à {0: t} sur {1} de la semaine {2} de {3}", transTimeEnd.TimeOfDay, _ transTimeEnd.DayOfWeek, _ transTimeEnd.Week, _ MonthName (transTimeEnd.Month)) sw Else .WriteLine ("commence à {0: t} sur {1} {2}", transTimeStart.TimeOfDay, _ transTimeStart.Day, _ MonthName (transTimeStart.Month)) sw.WriteLine ("termine à {0: t} sur {1} {2} ", transTimeEnd.TimeOfDay, _ transTimeEnd.Day, _ MonthName (transTimeEnd.Month)) End If Next End If Next sw.Close ()

Créer le programme Visual Basic suivant: Public Sub commune () Dim principal timeZone1 Comme TimeZoneInfo timeZone1 = TimeZoneInfo.FindSystemTimeZoneByID («Pacific Standard Time») Dim timeZone2 Comme TimeZoneInfo timeZone2 = TimeZoneInfo.FindSydtemTimeZoneByID («heure normale des Rocheuses») Différence Dim Comme long = DateDiff (DateInterval.Hour, 1stTimeZone.StandardTime, 2ndTimeZone.StandardTime) Console.WriteLine (différence)

Remplacer "Pacific Standard Time" avec le premier fuseau horaire que vous voulez comparer, en prenant soin de reproduire exactement à l'ID de la liste de l'étape 1.

Remplacer "Heure normale des Rocheuses" avec le deuxième fuseau horaire que vous voulez comparer.

Exécutez le programme.