DateTimeOffset.ToLocalTime DateTimeOffset.ToLocalTime DateTimeOffset.ToLocalTime DateTimeOffset.ToLocalTime Method

定義

現在の変換DateTimeOffsetオブジェクトをDateTimeOffset現地時刻を表すオブジェクト。Converts the current DateTimeOffset object to a DateTimeOffset object that represents the local time.

public:
 DateTimeOffset ToLocalTime();
public DateTimeOffset ToLocalTime ();
member this.ToLocalTime : unit -> DateTimeOffset
Public Function ToLocalTime () As DateTimeOffset

戻り値

現在の日時を表すオブジェクトをDateTimeOffsetオブジェクトが現地時刻に変換します。An object that represents the date and time of the current DateTimeOffset object converted to local time.

次の例では、ToLocalTimeに変換するメソッド、DateTimeOffset太平洋標準時ゾーンでのローカル時刻の値。The following example uses the ToLocalTime method to convert a DateTimeOffset value to local time in the Pacific Standard Time zone. また、ローカル タイム ゾーンの調整規則のメソッドのサポートを示しています。It also illustrates the method's support for the local time zone's adjustment rules.

// Local time changes on 3/11/2007 at 2:00 AM
DateTimeOffset originalTime, localTime;

originalTime = new DateTimeOffset(2007, 3, 11, 3, 0, 0, 
                                  new TimeSpan(-6, 0, 0));
localTime = originalTime.ToLocalTime();
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), 
                                           localTime.ToString());   

originalTime = new DateTimeOffset(2007, 3, 11, 4, 0, 0, 
                                  new TimeSpan(-6, 0, 0));
localTime = originalTime.ToLocalTime();
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), 
                                           localTime.ToString());    

// Define a summer UTC time
originalTime = new DateTimeOffset(2007, 6, 15, 8, 0, 0, 
                                  TimeSpan.Zero);
localTime = originalTime.ToLocalTime();
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(),
                                           localTime.ToString());    

// Define a winter time
originalTime = new DateTimeOffset(2007, 11, 30, 14, 0, 0, 
                                  new TimeSpan(3, 0, 0));
localTime = originalTime.ToLocalTime();
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), 
                                           localTime.ToString());
// The example produces the following output:
//    Converted 3/11/2007 3:00:00 AM -06:00 to 3/11/2007 1:00:00 AM -08:00.
//    Converted 3/11/2007 4:00:00 AM -06:00 to 3/11/2007 3:00:00 AM -07:00.
//    Converted 6/15/2007 8:00:00 AM +00:00 to 6/15/2007 1:00:00 AM -07:00.
//    Converted 11/30/2007 2:00:00 PM +03:00 to 11/30/2007 3:00:00 AM -08:00.                                                           
' Local time changes on 3/11/2007 at 2:00 AM
Dim originalTime, localTime As DateTimeOffset

originalTime = New DateTimeOffset(#03/11/2007 3:00AM#, _
                                  New TimeSpan(-6, 0, 0))
localTime = originalTime.ToLocalTime()
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), _
                                           localTime.ToString())       

originalTime = New DateTimeOffset(#03/11/2007 4:00AM#, _
                                  New TimeSpan(-6, 0, 0))
localTime = originalTime.ToLocalTime()
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), _
                                           localTime.ToString())       

' Define a summer UTC time
originalTime = New DateTimeOffset(#6/15/2007 8:00AM#, _
                                  TimeSpan.Zero)
localTime = originalTime.ToLocalTime()
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), _
                                           localTime.ToString())       

' Define a winter time
originalTime = New DateTimeOffset(#11/30/2007 2:00PM#, _
                                  New TimeSpan(3, 0, 0))
localTime = originalTime.ToLocalTime()
Console.WriteLine("Converted {0} to {1}.", originalTime.ToString(), _
                                           localTime.ToString())   
' The example produces the following output:
'    Converted 3/11/2007 3:00:00 AM -06:00 to 3/11/2007 1:00:00 AM -08:00.
'    Converted 3/11/2007 4:00:00 AM -06:00 to 3/11/2007 3:00:00 AM -07:00.
'    Converted 6/15/2007 8:00:00 AM +00:00 to 6/15/2007 1:00:00 AM -07:00.
'    Converted 11/30/2007 2:00:00 PM +03:00 to 11/30/2007 3:00:00 AM -08:00.                                                           

注釈

現地時刻への変換を実行するには、メソッド、最初に変換します現在DateTimeOffsetオブジェクトの日付と時刻を世界協定時刻 (UTC) 時刻からのオフセットを減算しています。In performing the conversion to local time, the method first converts the current DateTimeOffset object's date and time to Coordinated Universal Time (UTC) by subtracting the offset from the time. これは、後変換されます UTC の日付と時刻を現地時刻にローカル タイム ゾーンのオフセットを追加することで。It then converts the UTC date and time to local time by adding the local time zone offset. これを行うことで、ローカル タイム ゾーンの調整規則を任意のアカウントがかかります。In doing this, it takes account of any adjustment rules for the local time zone.

現在の値DateTimeOffsetオブジェクトとの値、DateTimeOffsetメソッドの呼び出しによって返されるオブジェクトでは、時間の同じ時点を表しています。Both the value of the current DateTimeOffset object and the value of the DateTimeOffset object returned by the method call represent the same point in time. つまり、両方に渡された場合、DateTimeOffset.Equals(DateTimeOffset, DateTimeOffset)メソッドは、メソッドを返しますtrueThat is, if both are passed to the DateTimeOffset.Equals(DateTimeOffset, DateTimeOffset) method, the method will return true.

変換によって、時刻の範囲外であるかどうか、DateTimeOffsetの種類、ToLocalTimeメソッドを返します。 をDateTimeOffsetいずれかに日付と時刻を持つオブジェクトが設定MaxValueまたはMinValueとオフセットのローカル タイム ゾーン オフセットを設定します。If the conversion causes a time that is out of range of the DateTimeOffset type, the ToLocalTime method returns a DateTimeOffset object that has the date and time set to either MaxValue or MinValue and the offset set to the local time zone offset.

適用対象

こちらもご覧ください