Version

UtcOffset Property

Returns the offset from UTC (Coordinated Universal Time) for the time zone represented by this TimeZoneInfo object.
Syntax
'Declaration
 
Public ReadOnly Property UtcOffset As TimeSpan
public TimeSpan UtcOffset {get;}
Remarks

UtcOffset specifies the number of hours and minutes the current time differs from Coordinated Universal Time (UTC). This value should be added to the current time in order to obtain (GMT) Greenwich mean time.

Note that since the display name of a TimeZone is relative to GMT, the UtcOffset will appear with the opposite sign. For example, "(GMT-05:00) Eastern Time (US and Canada)" indicates that the Eastern Time zone is 5 hours prior to GMT. So the UtcOffset of Eastern Time is +5:00.

Example
The following code sample demonstrates how to use the properties and methods on the TimeZoneInfo object to obtain information about the time zones registered on the local computer.

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 );
			}
		}
Requirements

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

See Also