Note: Starting in the spring of 2007, daylight saving time (DST) start and end dates have changed for several time zones, including all time zones in the United States. As a result of this change, the IsDaylightSavingTime method now relies more heavily on the Windows Registry than it did previously in order to function. If the time zone entries in the registry of the local computer are not up to date, the IsDaylightSavingTime method might return invalid values.
Note: If no daylight saving information is available in the registry, this property returns false.
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 ); } }
Target Platforms: Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012, Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2