DateTimeOffset.LocalDateTime DateTimeOffset.LocalDateTime DateTimeOffset.LocalDateTime DateTimeOffset.LocalDateTime Property

定義

現在の DateTime オブジェクトの現地日時を表す DateTimeOffset 値を取得します。Gets a DateTime value that represents the local date and time of the current DateTimeOffset object.

public:
 property DateTime LocalDateTime { DateTime get(); };
public DateTime LocalDateTime { get; }
member this.LocalDateTime : DateTime
Public ReadOnly Property LocalDateTime As DateTime

プロパティ値

現在の DateTimeOffset オブジェクトの現地日時。The local date and time of the current DateTimeOffset object.

次の例では、米国DateTimeOffsetでの値の現地時刻への変換を示しています。太平洋標準時ゾーンでの実行例を次に示します。The following example illustrates several conversions of DateTimeOffset values to local times in the U.S. Pacific Standard Time zone. 最後の3回はすべてあいまいであることに注意してください。プロパティは、すべてのプロパティを太平洋標準時ゾーンの1つの日付と時刻にマップします。Note that the last three times are all ambiguous; the property maps all of them to a single date and time in the Pacific Standard Time zone.

 DateTimeOffset dto;

 // Current time
 dto = DateTimeOffset.Now;
 Console.WriteLine(dto.LocalDateTime);
 // UTC time
 dto = DateTimeOffset.UtcNow;
 Console.WriteLine(dto.LocalDateTime);

// Transition to DST in local time zone occurs on 3/11/2007 at 2:00 AM
 dto = new DateTimeOffset(2007, 3, 11, 3, 30, 0, new TimeSpan(-7, 0, 0));      
 Console.WriteLine(dto.LocalDateTime);
 dto = new DateTimeOffset(2007, 3, 11, 2, 30, 0, new TimeSpan(-7, 0, 0));
 Console.WriteLine(dto.LocalDateTime);
 // Invalid time in local time zone
 dto = new DateTimeOffset(2007, 3, 11, 2, 30, 0, new TimeSpan(-8, 0, 0));
 Console.WriteLine(TimeZoneInfo.Local.IsInvalidTime(dto.DateTime));
 Console.WriteLine(dto.LocalDateTime);

 // Transition from DST in local time zone occurs on 11/4/07 at 2:00 AM
 // This is an ambiguous time
 dto = new DateTimeOffset(2007, 11, 4, 1, 30, 0, new TimeSpan(-7, 0, 0));
 Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto));
 Console.WriteLine(dto.LocalDateTime);
 dto = new DateTimeOffset(2007, 11, 4, 2, 30, 0, new TimeSpan(-7, 0, 0));           
 Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto));
 Console.WriteLine(dto.LocalDateTime);
 // This is also an ambiguous time
 dto = new DateTimeOffset(2007, 11, 4, 1, 30, 0, new TimeSpan(-8, 0, 0));           
 Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto));
 Console.WriteLine(dto.LocalDateTime);
 // If run on 3/8/2007 at 4:56 PM, the code produces the following
 // output:
 //    3/8/2007 4:56:03 PM
 //    3/8/2007 4:56:03 PM
 //    3/11/2007 3:30:00 AM
 //    3/11/2007 1:30:00 AM
 //    True
 //    3/11/2007 3:30:00 AM
 //    True
 //    11/4/2007 1:30:00 AM
 //    11/4/2007 1:30:00 AM
 //    True
 //    11/4/2007 1:30:00 AM      
 Dim dto As DateTimeOffset

 ' Current time
 dto = DateTimeOffset.Now
 Console.WriteLine(dto.LocalDateTime)
 ' UTC time
 dto = DateTimeOffset.UtcNow
 Console.WriteLine(dto.LocalDateTime)

' Transition to DST in local time zone occurs on 3/11/2007 at 2:00 AM
 dto = New DateTimeOffset(#03/11/2007 3:30AM#, New Timespan(-7, 0, 0))      
 Console.WriteLine(dto.LocalDateTime)
 dto = New DateTimeOffset(#03/11/2007 2:30AM#, New Timespan(-7, 0, 0))
 Console.WriteLine(dto.LocalDateTime)
 ' Invalid time in local time zone
 dto = New DateTimeOffset(#03/11/2007 2:30AM#, New Timespan(-8, 0, 0))
 Console.WriteLine(TimeZoneInfo.Local.IsInvalidTime(dto.DateTime))
 Console.WriteLine(dto.LocalDateTime)

 ' Transition from DST in local time zone occurs on 11/4/07 at 2:00 AM
 ' This is an ambiguous time
 dto = New DateTimeOffset(#11/4/2007 1:30AM#, New TimeSpan(-7, 0, 0))
 Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto))
 Console.WriteLine(dto.LocalDateTime)
 dto = New DateTimeOffset(#11/4/2007 2:30AM#, New TimeSpan(-7, 0, 0))           
 Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto))
 Console.WriteLine(dto.LocalDateTime)
 ' This is also an ambiguous time
 dto = New DateTimeOffset(#11/4/2007 1:30AM#, New TimeSpan(-8, 0, 0))           
 Console.WriteLine(TimeZoneInfo.Local.IsAmbiguousTime(dto))
 Console.WriteLine(dto.LocalDateTime)
 ' If run on 3/8/2007 at 4:56 PM, the code produces the following
 ' output:
 '    3/8/2007 4:56:03 PM
 '    3/8/2007 4:56:03 PM
 '    3/11/2007 3:30:00 AM
 '    3/11/2007 1:30:00 AM
 '    True
 '    3/11/2007 3:30:00 AM
 '    True
 '    11/4/2007 1:30:00 AM
 '    11/4/2007 1:30:00 AM
 '    True
 '    11/4/2007 1:30:00 AM      

注釈

必要に応じてLocalDateTime 、プロパティは現在DateTimeOffsetのオブジェクトの日付と時刻をローカルシステムの日付と時刻に変換します。If necessary, the LocalDateTime property converts the current DateTimeOffset object's date and time to the local system's date and time. 変換は、2段階の操作です。The conversion is a two-step operation:

  1. プロパティは、現在DateTimeOffsetのオブジェクトの時刻を世界協定時刻 (UTC) に変換します。The property converts the current DateTimeOffset object's time to Coordinated Universal Time (UTC).

  2. 次に、プロパティは UTC を現地時刻に変換します。The property then converts UTC to local time.

無効な時刻はありません。あいまいな時刻はローカルゾーンの標準時刻にマップされます。There are no invalid times and ambiguous times are mapped to the local zone's standard time. (ただし、変換によって異常が発生する可能性DateTimeOffsetがあります。ローカルコンピューターから派生した値にあいまいな日付と時刻が反映されている場合、その値を UTC に変換し、元の時刻とは異なる現地時刻に戻すことができます)。プロパティは、この変換を実行するときに、ローカルタイムゾーンの調整規則を適用します。(However, the conversion can create an anomaly: if a DateTimeOffset value that is derived from the local computer reflects an ambiguous date and time, that value can be converted to UTC and then back to a local time that differs from the original time.) The property applies any adjustment rules in the local time zone when it performs this conversion.

このプロパティは、 DateTimeOffsetオブジェクトの日付と時刻の両方の部分を返します。これにより、が変換DateTimeOffsetDateTime役立ちます。This property returns both the date and the time component of a DateTimeOffset object, which makes it useful for DateTimeOffset to DateTime conversion. このプロパティは、必要な時間変換を実行するだけでなくDateTime 、返されDateTimeたオブジェクトのKindプロパティの値をに設定するDateTimeKind.Localことによって、プロパティとは異なります。In addition to performing any necessary time conversion, this property differs from the DateTime property by setting the value of the Kind property of the returned DateTime object to DateTimeKind.Local.

適用対象

こちらもご覧ください