UtcOffset は現在の時間が UTC(協定世界時)と異なる時間と分数を指定します。この値はグリニッジ標準時を取得するために現在の時間に追加される必要があります。
TimeZone の表示名が GMT に対して相対であるので、UtcOffset は反対の企業で表示されることに注意してください。たとえば、"(GMT-05:00) 東部標準時(US およびカナダ)" は、東部のタイムゾーンが GMT よりも 5 時間前であることを示します。したがって、東部標準時の UtcOffset は +5:00 です。
Imports Infragistics.Win Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Get an array list of the time zones on this computer Dim timeZones As ArrayList = Infragistics.Win.Utilities.GetTimeZones() If timeZones Is Nothing Then Return ' Iterate the array list and display information on each time zone. Dim i As Int32 Dim crlf As String = vbCrLf Dim tab As String = vbTab For i = 0 To timeZones.Count - 1 Dim tzi As TimeZoneInfo = timeZones(i) Dim info As String = String.Empty info += "Time Zone: " + tzi.StandardName + crlf info += tab + "Daylight Name: " + tzi.DaylightName + crlf info += tab + "Display Name: " + tzi.DisplayName + crlf info += crlf info += tab + "UTC Offset: " + tzi.UtcOffset.TotalHours.ToString() + " hours" + crlf info += tab + "Additional Daylight Saving Time UTC Offset: " + tzi.DaylightUtcOffset.TotalHours.ToString() + " hours" + crlf info += tab + "Additional Standard Time UTC Offset: " + tzi.StandardUtcOffset.TotalHours.ToString() + " hours" + crlf If tzi.DaylightDate <> DateTime.MinValue Then info += tab + "Daylight savings time begins on " + tzi.DaylightDate.ToLongDateString() + crlf End If If tzi.StandardDate <> DateTime.MinValue Then info += tab + "Standard time begins on " + tzi.StandardDate.ToLongDateString() + crlf End If info += crlf info += tab + "The current date is " + tzi.Today.ToLongDateString() + crlf info += tab + "The current time is " + tzi.Now.ToShortTimeString() + crlf info += crlf Dim isDST As Boolean = tzi.IsDaylightSavingTime(DateTime.Now) info += tab + "Daylight savings time is " If Not isDST Then info += "not " End If info += "in effect." + crlf Dim time As DateTime = New DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 9, 0, 0) info += tab + "At 9AM (actual time) in the current time zone, the local time is " + tzi.ToLocalTime(time).ToShortTimeString() + crlf Debug.WriteLine(info) Next End Sub
using Infragistics.Win; using System.Diagnostics; private void button1_Click(object sender, System.EventArgs e) { // Get an array list of the time zones on this computer ArrayList timeZones = Infragistics.Win.Utilities.GetTimeZones(); if ( timeZones == null ) return; // Iterate the array list and display information on each time zone. int i; string crlf = "\r\n"; string tab = "\t"; for ( i = 0; i < timeZones.Count; i ++ ) { TimeZoneInfo tzi = timeZones[i] as TimeZoneInfo; string info = string.Empty; info += "Time Zone: " + tzi.StandardName + crlf; info += tab + "Daylight Name: " + tzi.DaylightName + crlf; info += tab + "Display Name: " + tzi.DisplayName + crlf; info += crlf; info += tab + "UTC Offset: " + tzi.UtcOffset.TotalHours.ToString() + " hours" + crlf; info += tab + "Additional Daylight Saving Time UTC Offset: " + tzi.DaylightUtcOffset.TotalHours.ToString() + " hours" + crlf; info += tab + "Additional Standard Time UTC Offset: " + tzi.StandardUtcOffset.TotalHours.ToString() + " hours" + crlf; if ( tzi.DaylightDate != DateTime.MinValue ) info += tab + "Daylight savings time begins on " + tzi.DaylightDate.ToLongDateString() + crlf; if ( tzi.StandardDate != DateTime.MinValue ) info += tab + "Standard time begins on " + tzi.StandardDate.ToLongDateString() + crlf; info += crlf; info += tab + "The current date is " + tzi.Today.ToLongDateString() + crlf; info += tab + "The current time is " + tzi.Now.ToShortTimeString() + crlf; info += crlf; bool isDST = tzi.IsDaylightSavingTime( DateTime.Now ); info += tab + "Daylight savings time is "; if ( ! isDST ) info += "not "; info += "in effect." + crlf; DateTime time = new DateTime( DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 9, 0, 0 ); info += tab + "At 9AM (actual time) in the current time zone, the local time is " + tzi.ToLocalTime(time).ToShortTimeString() + crlf; Debug.WriteLine( info ); } }