Visual Basic levereras med ett antal verktyg för att analysera tidszoner . Den " TimeZoneInfo " variabel typ kan du definiera specifika tidszoner som variabler . Verksamheten kan du kontrollera tiden i dessa olika tidszoner och konvertera dessa tider till sina egna variabler . En separat uppsättning operationer manipulera tider och datum , hitta skillnaden mellan de två gånger du definierade från olika tidszoner . Instruktioner
1
Skapa ett Visual Basic-program från följande Microsoft- kod för att lista din registrets tidszon ID :
Imports System.Collections.ObjectModel
Import System . globalisering
Import System.IO
Module Exempel
Public Sub Main ( ) katalog
Const outputfilename As String = " C : \\ Temp \\ TimeZoneInfo.txt "
Dim tidzoner Som ReadOnlyCollection ( av TimeZoneInfo ) = TimeZoneInfo.GetSystemTimeZones ( ) katalog
Dim sw Som StreamWriter = Ny StreamWriter ( outputfilename , False ) katalog
För varje tidszon Som TimeZoneInfo i tidszoner
Dim hasDST As Boolean = timeZone.SupportsDaylightSavingTime
Dim offsetFromUtc Som TimeSpan = timeZone.BaseUtcOffset
Dim adjustRules () As System.TimeZoneInfo.AdjustmentRule
Dim offsetString As String
sw.WriteLine ( " ID : { 0 } " , timeZone.Id ) katalog
sw.WriteLine ( " Display Name : { 0 , 40 } " , tidszon . DisplayName ) katalog
sw.WriteLine ( " Standard Namn : { 0 , 39 } " , timeZone.StandardName ) katalog
sw.Write ( " Daylight Namn : { 0 , 39 } " , tidszon . DaylightName ) katalog
sw.Write ( Oom ( hasDST , " *** har " , " *** har inte " ) ) katalog
sw.WriteLine ( " Daylight Saving Time ** * " ) katalog
offsetString = String.Format ( " { 0 } timmar , { 1 } minuter " , offsetFromUtc.Hours , offsetFromUtc.Minutes ) katalog
sw.WriteLine ( " Offset från UTC : { 0 , 40 } " , offsetString ) katalog
adjustRules = timeZone.GetAdjustmentRules ( ) katalog
sw.WriteLine ( " Antal justering regler : { 0 , 26 } " , adjustRules.Length )
Om adjustRules.Length > 0 Then
sw.WriteLine ( " Adjustment Rules : " ) katalog
för varje regel som TimeZoneInfo.AdjustmentRule I adjustRules
Dim transTimeStart som TimeZoneInfo.TransitionTime = rule.DaylightTransitionStart
Dim transTimeEnd som TimeZoneInfo.TransitionTime = rule.DaylightTransitionEnd
sw.WriteLine ( " From { 0 } till { 1 } " , rule.DateStart , rule.DateEnd ) katalog
sw.WriteLine ( " Delta : { 0 } " , rule.DaylightDelta ) katalog p Om inte transTimeStart.IsFixedDateRule
sw.WriteLine ( "börjar vid { 0 : t } på { 1 } i veckan { 2 } av { 3 } " , transTimeStart.TimeOfDay , _
transTimeStart.DayOfWeek , _
transTimeStart.Week , _
MonthName ( transTimeStart.Month ) ) katalog
sw.WriteLine ( " Avsluta vid { 0 : t } på { 1 } i veckan { 2 } av { 3 } " , transTimeEnd.TimeOfDay , _
transTimeEnd.DayOfWeek , _
transTimeEnd.Week , _
MonthName ( transTimeEnd.Month ) ) katalog
Else
sw.WriteLine ( " Börjar hos { 0 : t } på { 1 } { 2 } " , transTimeStart.TimeOfDay , _
transTimeStart.Day , _
MonthName ( transTimeStart.Month ) ) katalog
sw.WriteLine ( " Avsluta vid { 0 : t } på { 1 } { 2 } " , transTimeEnd.TimeOfDay , _
transTimeEnd.Day , _
MonthName ( transTimeEnd. månad ) ) katalog
End If
Nästa
End If
Nästa
sw.Close ( )
2
Skapa följande Visual Basic-program :
Public Shared Sub ( ) Main