Sådan Beregn forskellen mellem tidszoner i VB6

March 24

Sådan Beregn forskellen mellem tidszoner i VB6

Visual Basic leveres med en række værktøjer til analyse af tidszoner. Den "TimeZoneInfo" variable type, kan du definere specifikke tidszoner som variabler. Operationer kan du kontrollere tiden i disse forskellige tidszoner og konvertere disse tider til deres egne variabler. En separat sæt operationer manipulere tidspunkter og datoer, finde forskellen mellem de to gange du defineret af de forskellige tidszoner.

Vejledning


• Opret et Visual Basic program fra følgende Microsoft-koden til listen din administrators tidszone id'er: Import System.Collections.ObjectModel Import System.Globalization Import System.IO Module Eksempel Public Sub Main () Const OUTPUTFILENAME As String = "C: \ Temp \ TimeZoneInfo.txt "Dim tidszoner As ReadOnlyCollection (Of TimeZoneInfo) = TimeZoneInfo.GetSystemTimeZones () Dim sw StreamWriter = Ny StreamWriter (OUTPUTFILENAME, False) for hver tidszone Som TimeZoneInfo i tidszoner Dim hasDST Som Boolean = timeZone.SupportsDaylightSavingTime Dim offsetFromUtc Som tidshorisont = timeZone.BaseUtcOffset Dim justere Regler () Som System.TimeZoneInfo.AdjustmentRule Dim offset String As String sw.WriteLine ("ID: {0}", timeZone.Id) sw.WriteLine ("Display Name: {0, 40 } ", timeZone.DisplayName) sw.WriteLine (" Standard Navn: {0, 39} ", timeZone.StandardName) sw.Write (" Daylight Navn: {0, 39} ", timeZone.DaylightName) sw.Write (IIf (hasDST, "*** Har", "*** har ikke")) sw.WriteLine ("sommertid ***") offset String = String.Format ("{0} timer, {1} minutter "offsetFromUtc.Hours, offsetFromUtc.Minutes) sw.WriteLine (" Forskydning fra UTC: {0, 40} ", offset String) justere Regler = timeZone.GetAdjustmentRules () sw.WriteLine (" Antal justeringsregler: {0, 26} ", adjustRules.Length) Hvis adjustRules.Length> 0, sw.WriteLine (" Justering Regler: ") for hver regel TimeZoneInfo.AdjustmentRule I justere Regler Dim transTimeStart Som TimeZoneInfo.TransitionTime = rule.DaylightTransitionStart Dim transTimeEnd som TimeZoneInfo. TransitionTime = rule.DaylightTransitionEnd sw.WriteLine ("Fra {0} til {1}", rule.DateStart, rule.DateEnd) sw.WriteLine ("Delta: {0}", rule.DaylightDelta) hvis der ikke transTimeStart.IsFixedDateRule sw .WriteLine ("begynder ved {0: t} på {1} af uge {2} af {3}", transTimeStart.TimeOfDay, _ transTimeStart.DayOfWeek, _ transTimeStart.Week, _ MONTHNAME (transTimeStart.Month)) sw. WriteLine ("Ender ved {0: t} på {1} af uge {2} af {3}", transTimeEnd.TimeOfDay, _ transTimeEnd.DayOfWeek, _ transTimeEnd.Week, _ MONTHNAME (transTimeEnd.Month)) Else sw. WriteLine ("begynder ved {0: t} på {1} {2}", transTimeStart.TimeOfDay, _ transTimeStart.Day, _ MONTHNAME (transTimeStart.Month)) sw.WriteLine ("Ender ved {0: t} på { 1} {2} ", transTimeEnd.TimeOfDay, _ transTimeEnd.Day, _ MONTHNAME (transTimeEnd.Month)) End If Next End If Next sw.Close ()

• Opret følgende Visual Basic program: Offentlig Delt Sub () Main Dim timeZone1 Som TimeZoneInfo timeZone1 = TimeZoneInfo.FindSystemTimeZoneByID ("Pacific Standard Time") Dim timeZone2 Som TimeZoneInfo timeZone2 = TimeZoneInfo.FindSydtemTimeZoneByID ("Mountain Standard Time") Dim forskel, så længe = DateDiff (DateInterval.Hour, 1stTimeZone.StandardTime, 2ndTimeZone.StandardTime) Console.WriteLine (forskel)

• Sæt "Pacific Standard Time" med den første tidszone, du ønsker at sammenligne, idet man netop reproducere id på listen fra trin 1.

• Sæt "Mountain Standard Time" med den anden tidszone, du ønsker at sammenligne.

• Kør programmet.