Visual Basic viene con una serie de herramientas para el análisis de las zonas horarias. El tipo de variable " TimeZoneInfo " le permite definir las zonas horarias específicas como variables . Operaciones permiten comprobar el tiempo en estas diferentes zonas horarias y convertir estos tiempos a sus propias variables. Un grupo separado de las operaciones de manipulación de fechas y horas , la búsqueda de la diferencia entre los dos tiempos que se definieron a partir de los diferentes husos horarios. Instrucciones
1
Crear un programa de Visual Basic desde el siguiente código de Microsoft a la lista de zona horaria de su ID de registro:
Importaciones System.Collections.ObjectModel
Imports System . globalización
Imports System.IO
Módulo Ejemplo
Public Sub Main ()
Const OutputFileName As String = "C : \\ temp \\ TimeZoneInfo.txt "
zonas horarias dévil como ReadOnlyCollection ( De TimeZoneInfo ) = TimeZoneInfo.GetSystemTimeZones ()
sw As StreamWriter = New StreamWriter ( OutputFileName , False )
Para cada zona horaria Como TimeZoneInfo en zonas horarias
hasDST As Boolean = timeZone.SupportsDaylightSavingTime
offsetFromUtc As TimeSpan = timeZone.BaseUtcOffset
adjustRules Dim () As
System.TimeZoneInfo.AdjustmentRule < p> offsetString dévil como secuencia
sw.WriteLine ( "ID : { 0 }", timeZone.Id )
sw.WriteLine ( "Display Name : { 0 , 40 }", zona horaria . DisplayName )
sw.WriteLine ( "Nombre del estándar: { 0 , 39 }", timeZone.StandardName )
sw.Write ("Nombre de verano: { 0 , 39 }", zona horaria . DaylightName )
sw.Write ( iif ( hasDST " *** Ha ", " *** no Tiene " ))
sw.WriteLine ( "Daylight Saving Time ** * ")
offsetString = String.Format (" { 0 } horas , { 1 } minutos ", offsetFromUtc.Hours , offsetFromUtc.Minutes )
sw.WriteLine ( " Desplazamiento de UTC : { 0 , 40 } ", offsetString )
adjustRules = timeZone.GetAdjustmentRules ()
sw.WriteLine ( " número de reglas de ajuste : { 0 , 26 } ", adjustRules.Length )
Si adjustRules.Length > 0 Entonces
sw.WriteLine ( "Reglas de ajuste: " ) guía
para cada regla como TimeZoneInfo.AdjustmentRule En adjustRules
Dim transTimeStart Como TimeZoneInfo.TransitionTime = rule.DaylightTransitionStart
transTimeEnd As TimeZoneInfo.TransitionTime = rule.DaylightTransitionEnd
sw.WriteLine ( " de { 0 } de { 1 }", rule.DateStart , rule.DateEnd )
sw.WriteLine ( "Delta : { 0 }", rule.DaylightDelta )
Si No transTimeStart.IsFixedDateRule
sw.WriteLine ( " comienza en { 0 : t } de { 1 } de {2 semanas } de { 3 } ", transTimeStart.TimeOfDay , _
transTimeStart.DayOfWeek , _
transTimeStart.Week , _ < br >
MonthName ( transTimeStart.Month ))
sw.WriteLine ( " Finaliza en { 0 : t } de { 1 } de semana {2} de { 3 }", transTimeEnd.TimeOfDay , _
transTimeEnd.DayOfWeek , _
transTimeEnd.Week , _
MonthName ( transTimeEnd.Month ))
demás
sw.WriteLine ( " Comienza a { 0 : t } de { 1 } { 2 }", transTimeStart.TimeOfDay , _
transTimeStart.Day , _
MonthName ( transTimeStart.Month ))
sw.WriteLine ( " Finaliza en { 0 : t } de { 1 } { 2 }", transTimeEnd.TimeOfDay , _
transTimeEnd.Day , _
MonthName ( transTimeEnd. Mes ))
End If
Siguiente
End If
Siguiente
sw.Close ()
2
Crear el siguiente programa de Visual Basic:
Public Shared Sub ( ) principal
timeZone1 As TimeZoneInfo
timeZone1 = TimeZoneInfo.FindSystemTimeZoneByID ( "Pacific Standard Time " )
timeZone2 As TimeZoneInfo
timeZone2 = TimeZoneInfo.FindSydtemTimeZoneByID ( " Mountain Standard Time " )
diferencia Dim As Long = DateDiff ( DateInterval.Hour , 1stTimeZone.StandardTime , 2ndTimeZone.StandardTime )
Console.WriteLine (diferencia)
3
Reemplazar "Pacific Standard Time " con la primera zona horaria que desea comparar , teniendo cuidado de reproducir exactamente el ID de la lista desde el paso 1 .
4
Reemplazar " Mountain Standard Time " con la segunda zona horaria que desea comparar .
5
Ejecute el programa.