Visual Basic viene fornito con una serie di strumenti per l'analisi dei fusi orari . Il tipo di variabile " TimeZoneInfo " consente di definire fusi orari specifici come variabili . Le operazioni consentono di controllare il tempo in questi vari fusi orari e convertire questi tempi per le proprie variabili . Un insieme separato di operazioni di manipolare orari e le date , trovare la differenza tra le due volte che hai definito dai diversi fusi orari . Istruzioni 
 1 
 Creare un programma Visual Basic dalla seguente codice di Microsoft alla lista del vostro registro di fuso orario ID : 
 
 Importazioni System.Collections.ObjectModel 
 
 Imports System . globalizzazione 
 
 Imports System.IO 
 
 Module Esempio 
 
 Public Sub Main ( ) per 
 Const OutputFileName As String = " C : \\ Temp \\ TimeZoneInfo.txt "
 
 Dim poichè i ReadOnlyCollection (di TimeZoneInfo ) = TimeZoneInfo.GetSystemTimeZones ( ) per 
 Dim sw Come StreamWriter = New StreamWriter ( OutputFileName , False ) per 
 Per ogni fuso orario Come TimeZoneInfo in fusi orari 
 
 Dim hasDST As Boolean = timeZone.SupportsDaylightSavingTime 
 
 Dim offsetFromUtc Come TimeSpan = timeZone.BaseUtcOffset 
 
 Dim adjustRules () As 
 System.TimeZoneInfo.AdjustmentRule < p > Dim offsetString As String 
 
 sw.WriteLine ( " ID : {0}" , timeZone.Id ) per 
 sw.WriteLine ( "Nome visualizzato : { 0 , 40 } " , Fuso orario . DisplayName ) per 
 sw.WriteLine ( " Nome standard : { 0 , 39 }" , timeZone.StandardName ) per 
 sw.Write ( " Daylight Nome : { 0 , 39 } " , Fuso orario . DaylightName ) per 
 sw.Write ( IIF ( hasDST , " *** dispone ", " *** non dispone " ) ) per 
 sw.WriteLine ( " Daylight Saving Time ** * " ) per 
 offsetString = String.Format ( " { 0 } ore , {1} minuti " , offsetFromUtc.Hours , offsetFromUtc.Minutes ) per 
 sw.WriteLine ( " Offset da UTC : { 0 , 40 } " , offsetString ) 
 
 adjustRules = timeZone.GetAdjustmentRules ( ) per 
 sw.WriteLine ( " Numero delle regole di regolazione : { 0 , 26 } " , adjustRules.Length ) 
 
 Se adjustRules.Length > 0 Then 
 
 sw.WriteLine ( " regole di regolazione :") 
 
 per ogni regola Come TimeZoneInfo.AdjustmentRule In adjustRules 
 
 dim transTimeStart Come TimeZoneInfo.TransitionTime = rule.DaylightTransitionStart 
 
 dim transTimeEnd Come TimeZoneInfo.TransitionTime = rule.DaylightTransitionEnd 
 
 sw.WriteLine ( " da { 0 } di { 1 } " , rule.DateStart , rule.DateEnd ) per 
 sw.WriteLine ( "Delta : {0}" , rule.DaylightDelta ) per 
 Se Non transTimeStart.IsFixedDateRule 
 
 sw.WriteLine ( " Begins a { 0 : t } su { 1 } di {2} settimana di { 3 } " , transTimeStart.TimeOfDay , _ 
 
 transTimeStart.DayOfWeek , _ 
 
 transTimeStart.Week , _ < br 
 MonthName > ( transTimeStart.Month ) ) per 
 sw.WriteLine ( " Ritorna al { 0 : t } di {1 } di {2} settimana di { 3 }" , transTimeEnd.TimeOfDay , _ < br 
 transTimeEnd.DayOfWeek > , _ 
 
 transTimeEnd.Week , _ 
 
 MonthName ( transTimeEnd.Month ) ) per 
 Else 
 
 sw.WriteLine ( " Inizia a { 0 : t } su { 1 } { 2}" , transTimeStart.TimeOfDay , _ 
 
 transTimeStart.Day , _ 
 
 MonthName ( transTimeStart.Month ) ) per 
 sw.WriteLine ( " Ritorna al { 0 : t } su { 1 } { 2}" , transTimeEnd.TimeOfDay , _ 
 
 transTimeEnd.Day , _ 
 
 MonthName ( transTimeEnd. mese ) ) per 
 End If 
 
 Avanti 
 
 End If 
 
 Avanti 
 
 sw.Close ( ) economici 2 
 Creare il seguente programma di Visual Basic : 
 
 Public Shared Sub ( ) Meno 
 
 Dim timeZone1 Come TimeZoneInfo 
 
 timeZone1 = TimeZoneInfo.FindSystemTimeZoneByID ( " Pacific Standard Time " ) per 
 Dim timeZone2 Come TimeZoneInfo 
 
 timeZone2 = TimeZoneInfo.FindSydtemTimeZoneByID ( " Mountain standard Time " ) per 
 Dim differenza As Long = DateDiff ( DateInterval.Hour , 1stTimeZone.StandardTime , 2ndTimeZone.StandardTime ) per 
 Console.WriteLine (differenza) 
 3 
 Sostituire " Pacific Standard Time " con il primo fuso orario che si desidera confrontare , avendo cura di riprodurre esattamente l' ID dalla lista dal passo 1. 
 4 
 Sostituire " Mountain standard Time" con il secondo fuso orario che si desidera confrontare . 
 5 
 eseguire il programma.