バージョン

ToLocalTime(DateTime) メソッド

指定した時間の、この TimeZoneInfo オブジェクトによって表されるタイムゾーンでの日付/時刻を返します。変換には、コンピュータに設定されているタイムゾーン情報が使用されます。
シンタックス
'宣言
 
Public Overloads Function ToLocalTime( _
   ByVal time As Date _
) As Date
public DateTime ToLocalTime( 
   DateTime time
)

パラメータ

time
変換する日付/時刻。

戻り値の型

このタイムゾーンに変換された日付/時刻。
解説

指定された timeKind プロパティが、'Local' に設定されている場合は、指定時間がローカルタイムとしてすでに表示されていることを意味します。このメソッドは、このケースで変化していない時間を返します。Kind プロパティが 'Utc' または 'Unspecified' に設定されている場合は、指定した時間は、Coordinated Universal Time (UTC) として表現されます。このメソッドは、指定された時間をこのタイム ゾーンのローカルタイムに変換します。DaylightUtcOffset を適用して、該当する場合は、サマータイムを調整してください。

注: 指定された時間の Kind プロパティの値に応じる呼び出し元が不明な場合、このメソッドのオーバー読み込みを使用して DateTimeKind が指定された時間の Kind プロパティの値を独立して表現できます。

使用例
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 );
			}
		}
参照