Visual Basic wird mit einer Reihe von Werkzeugen für die Analyse von Zeitzonen. Die " TimeZoneInfo " Variablentyp definieren Sie bestimmte Zeitzonen als Variablen . Operationen können Sie die Zeit überprüfen in diesen verschiedenen Zeitzonen und wandeln diese mal ihre eigenen Variablen . Ein separater Satz von Operationen manipulieren Zeiten und Daten , das Finden der Unterschied zwischen den beiden Zeiten, die Sie aus den verschiedenen Zeitzonen definiert. Anleitung
1
Erstellen Sie ein Visual Basic-Programm von der folgenden Microsoft -Code , um Ihre Registrierung Zeitzone IDs aufzulisten :
Importe System.Collections.ObjectModel
Imports System . Globalisierung
Imports System.IO
Module Beispiel
Public Sub Main ()
Const OutputFileName As String = "C: \\ Temp \\ TimeZoneInfo.txt "
Dim Zeitzonen, denn ReadOnlyCollection (Of TimeZoneInfo ) = TimeZoneInfo.GetSystemTimeZones ()
Dim sw Als StreamWriter = New StreamWriter ( OutputFileName , False)
For Each Zeitzone als TimeZoneInfo in Zeitzonen
Dim hasDST As Boolean = timeZone.SupportsDaylightSavingTime
Dim offsetFromUtc Wie TimeSpan = timeZone.BaseUtcOffset
Dim adjustRules () As System.TimeZoneInfo.AdjustmentRule
< p> Dim offsetString As String
sw.WriteLine ( " ID: {0}" , timeZone.Id )
sw.WriteLine ( "Display Name: {0 , 40 }" , timeZone . DisplayName )
sw.WriteLine ( "Standard- Name: {0 , 39 }" , timeZone.StandardName )
sw.Write ( "Daylight Name: {0 , 39 }" , timeZone . DaylightName )
sw.Write ( IIF ( hasDST , "*** Hat ", " *** Hat nicht " ) )
sw.WriteLine ( "Daylight Saving Time ** * " )
offsetString = String.Format (" { 0} Stunden , {1} Minuten " , offsetFromUtc.Hours , offsetFromUtc.Minutes )
sw.WriteLine ( " Offset von UTC: {0 , 40 } " , offsetString )
adjustRules = timeZone.GetAdjustmentRules ()
sw.WriteLine (" Anzahl der Anpassung Regeln : {0 , 26 } " , adjustRules.Length )
Wenn adjustRules.Length > 0 Then
sw.WriteLine ( " Adjustment Rules :")
für jede Regel Wie TimeZoneInfo.AdjustmentRule In adjustRules
Dim transTimeStart Wie TimeZoneInfo.TransitionTime = rule.DaylightTransitionStart
Dim transTimeEnd Wie TimeZoneInfo.TransitionTime = rule.DaylightTransitionEnd
sw.WriteLine ( " Von { 0} {1}" , rule.DateStart , rule.DateEnd )
sw.WriteLine ( "Delta : {0}" , rule.DaylightDelta )
If Not transTimeStart.IsFixedDateRule
sw.WriteLine ( " Beginnt unter { 0: t } auf {1} von {2} Woche von {3} " , transTimeStart.TimeOfDay , _
transTimeStart.DayOfWeek , _
transTimeStart.Week , _
MonthName ( transTimeStart.Month ) )
sw.WriteLine ( " Endet am {0 : t } auf {1} von {2} Woche von {3} " , transTimeEnd.TimeOfDay , _
transTimeEnd.DayOfWeek , _
transTimeEnd.Week , _
MonthName ( transTimeEnd.Month ) )
Else
sw.WriteLine ( " Beginnt am {0 : t } auf {1} {2}" , transTimeStart.TimeOfDay , _
transTimeStart.Day , _
MonthName ( transTimeStart.Month ) )
sw.WriteLine ( " Endet am {0 : t } auf {1} {2}" , transTimeEnd.TimeOfDay , _
transTimeEnd.Day , _
MonthName ( transTimeEnd. Monat ) )
End If Next
End If Next
sw.Close ( ) auf Twitter 2
erstellen Sie das folgende Visual Basic-Programm :
Public Shared Sub ( ) Wesentliche
Dim timeZone1 Wie TimeZoneInfo
timeZone1 = TimeZoneInfo.FindSystemTimeZoneByID ( "Pacific Standard Time " )
Dim timeZone2 Wie TimeZoneInfo
timeZone2 = TimeZoneInfo.FindSydtemTimeZoneByID ( " Mountain Standard Time" )
Dim Differenz As Long = DateDiff ( DateInterval.Hour , 1stTimeZone.StandardTime , 2ndTimeZone.StandardTime )
Console.WriteLine (Differenz )
3
Ersetzen "Pacific Standard Time " mit der ersten Zeitzone Sie vergleichen möchten , kümmert sich um genau zu reproduzieren die ID aus der Liste aus Schritt 1 .
4
Ersetzen Sie " Mountain Standard Time" mit der zweiten Zeitzone, die Sie vergleichen möchten.
5
Führen Sie das Programm .