Visual Basic leveres med en række værktøjer til at analysere tidszoner. Den " TimeZoneInfo " type lader dig definere specifikke tidszoner som variabler . Operationer kan du kontrollere tiden i disse forskellige tidszoner og konvertere disse tider til deres egne variabler. Et separat sæt af operationer manipulere tidspunkter og datoer , finde forskellen mellem de to gange du har defineret af de forskellige tidszoner. Instruktioner
1
Opret en Visual Basic-program fra følgende Microsoft -koden til listen jeres indskrive tidszone -id'er : Hej
Import System.Collections.ObjectModel
Import System . globalisering
Import System.IO
Module Eksempel
Public Sub Main ( )
Const OUTPUTFILENAME As String = " C: \\ Temp \\ TimeZoneInfo.txt "
Dim tidszoner Som ReadOnlyCollection ( Of TimeZoneInfo ) = TimeZoneInfo.GetSystemTimeZones ()
Dim sw Som StreamWriter = Ny StreamWriter ( OUTPUTFILENAME , False )
For Each tidszone Som TimeZoneInfo i tidszoner
Dim hasDST Som Boolean = timeZone.SupportsDaylightSavingTime
Dim offsetFromUtc Som TimeSpan = timeZone.BaseUtcOffset
Dim adjustRules () er System.TimeZoneInfo.AdjustmentRule
< p> Dim offsetString As String
sw.WriteLine ( "ID : { 0}" , timeZone.Id )
sw.WriteLine ( "Display Name : {0 , 40 }" , tidszone . DisplayName )
sw.WriteLine ( " Standard Navn : { 0, 39 }" , timeZone.StandardName )
sw.Write ( " Daylight navn: {0 , 39 }" , tidszone . DaylightName )
sw.Write ( IIf ( hasDST , " *** Har" , " *** ikke har" ) )
sw.WriteLine ( " Daylight Saving Time ** * " )
offsetString = String.Format ( " {0} timer, {1} minutter " , offsetFromUtc.Hours , offsetFromUtc.Minutes )
sw.WriteLine ( " Forskydning fra UTC : {0 , 40 } " , offsetString )
adjustRules = timeZone.GetAdjustmentRules ()
sw.WriteLine ( " Antallet af justeringsregler : { 0, 26 } " , adjustRules.Length ) < br >
Hvis adjustRules.Length > 0 Then
sw.WriteLine ( "justering Rules :")
Hver regel Da TimeZoneInfo.AdjustmentRule I adjustRules
Dim transTimeStart Som TimeZoneInfo.TransitionTime = rule.DaylightTransitionStart
Dim transTimeEnd Som TimeZoneInfo.TransitionTime = rule.DaylightTransitionEnd
sw.WriteLine ( "From {0 } til { 1 }" , rule.DateStart , rule.DateEnd )
sw.WriteLine ( " Delta : { 0}" , rule.DaylightDelta )
p Hvis ikke transTimeStart.IsFixedDateRule
sw.WriteLine ( "Begynder ved { 0: t } den { 1} af ugen {2 } af {3 } " , transTimeStart.TimeOfDay , _
transTimeStart.DayOfWeek , _
transTimeStart.Week , _ < br >
månedsnavn ( transTimeStart.Month ) )
sw.WriteLine ( " Ender ved {0 : t } på {1 } af ugen {2 } af {3 }" , transTimeEnd.TimeOfDay , _ < br >
transTimeEnd.DayOfWeek , _
transTimeEnd.Week , _
månedsnavn ( transTimeEnd.Month ) )
Else
sw.WriteLine ( "Begynder ved { 0: t } den { 1} {2 }" , transTimeStart.TimeOfDay , _
transTimeStart.Day , _
månedsnavn ( transTimeStart.Month ) )
sw.WriteLine ( " slutter på {0 : t } den { 1} {2 }" , transTimeEnd.TimeOfDay , _
transTimeEnd.Day , _
månedsnavn ( transTimeEnd. måned) )
End If
Næste
End If
Næste
sw.Close ()
2
Lav følgende Visual Basic-program : Hej
Public Shared Sub ( ) Main
Dim timeZone1 Som TimeZoneInfo
timeZone1 = TimeZoneInfo.FindSystemTimeZoneByID ( " Pacific Standard Time" )
Dim timeZone2 Som TimeZoneInfo
timeZone2 = TimeZoneInfo.FindSydtemTimeZoneByID ( " Mountain Standard Time" )
Dim forskel As Long = DateDiff ( DateInterval.Hour , 1stTimeZone.StandardTime , 2ndTimeZone.StandardTime )
Console.WriteLine ( forskel )
3
Erstat " Pacific Standard Time" med den første tidszone, du ønsker at sammenligne , idet man præcist gengive ID fra listen fra trin 1 .
4
Erstat " Mountain Standard Time" med den anden tidszone , du ønsker at sammenligne.
5.
Kør programmet . < br >