TimeZoneInfo.IsDaylightSavingTime メソッド

定義

指定された日付と時刻が、現在の TimeZoneInfo オブジェクトのタイム ゾーンの夏時間の範囲内かどうかを示します。Indicates whether a specified date and time falls in the range of daylight saving time for the current TimeZoneInfo object's time zone.

オーバーロード

IsDaylightSavingTime(DateTimeOffset)

指定された日付と時刻が、現在の TimeZoneInfo オブジェクトのタイム ゾーンの夏時間範囲内かどうかを示します。Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current TimeZoneInfo object.

IsDaylightSavingTime(DateTime)

指定された日付と時刻が、現在の TimeZoneInfo オブジェクトのタイム ゾーンの夏時間範囲内かどうかを示します。Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current TimeZoneInfo object.

IsDaylightSavingTime(DateTimeOffset)

指定された日付と時刻が、現在の TimeZoneInfo オブジェクトのタイム ゾーンの夏時間範囲内かどうかを示します。Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current TimeZoneInfo object.

public:
 bool IsDaylightSavingTime(DateTimeOffset dateTimeOffset);
public bool IsDaylightSavingTime (DateTimeOffset dateTimeOffset);
member this.IsDaylightSavingTime : DateTimeOffset -> bool
Public Function IsDaylightSavingTime (dateTimeOffset As DateTimeOffset) As Boolean

パラメーター

dateTimeOffset
DateTimeOffset

日時の値。A date and time value.

戻り値

Boolean

dateTimeOffset パラメーターが夏時間の範囲内の場合は true。それ以外の場合は falsetrue if the dateTimeOffset parameter is a daylight saving time; otherwise, false.

注釈

TimeZoneInfo.IsDaylightSavingTime の戻り値は、TimeZoneInfo オブジェクトによって表されるタイムゾーンと dateTimeOffset パラメーターの Offset プロパティの関係によって影響を受けます。The return value of TimeZoneInfo.IsDaylightSavingTime is affected by the relationship between the time zone represented by the TimeZoneInfo object and the Offset property of the dateTimeOffset parameter. dateTimeOffset が、世界協定時刻 (UTC) からの現在のタイムゾーンのオフセットに対応していない場合、メソッドはその時刻を現在のタイムゾーンの時刻に変換します。If dateTimeOffset does not correspond to the current time zone's offset from Coordinated Universal Time (UTC), the method converts that time to the time in the current time zone. 次に、その日付と時刻が夏時間かどうかを判断します。It then determines whether that date and time is a daylight saving time.

TimeZoneInfo オブジェクトによって表されるタイムゾーンで夏時間がサポートされていない場合、メソッドは常に falseを返します。If the time zone represented by the TimeZoneInfo object does not support daylight saving time, the method always returns false. タイムゾーンで夏時間がサポートされているかどうかを確認するには、SupportsDaylightSavingTime プロパティの値を取得します。To determine whether a time zone supports daylight saving time, retrieve the value of its SupportsDaylightSavingTime property.

こちらもご覧ください

IsDaylightSavingTime(DateTime)

指定された日付と時刻が、現在の TimeZoneInfo オブジェクトのタイム ゾーンの夏時間範囲内かどうかを示します。Indicates whether a specified date and time falls in the range of daylight saving time for the time zone of the current TimeZoneInfo object.

public:
 bool IsDaylightSavingTime(DateTime dateTime);
public bool IsDaylightSavingTime (DateTime dateTime);
member this.IsDaylightSavingTime : DateTime -> bool
Public Function IsDaylightSavingTime (dateTime As DateTime) As Boolean

パラメーター

dateTime
DateTime

日時の値。A date and time value.

戻り値

Boolean

dateTime パラメーターが夏時間の範囲内の場合は true。それ以外の場合は falsetrue if the dateTime parameter is a daylight saving time; otherwise, false.

例外

dateTime 値の Kind プロパティは Local で、dateTime は無効な時刻です。The Kind property of the dateTime value is Local and dateTime is an invalid time.

次の例では、TimeZoneInfo.IsDaylightSavingTime メソッドを使用してタイムゾーンの標準時名または夏時間名を表示するかどうかを決定する DisplayDateWithTimeZoneName という名前のメソッドを定義します。The following example defines a method named DisplayDateWithTimeZoneName that uses the TimeZoneInfo.IsDaylightSavingTime method to determine whether to display a time zone's standard time name or daylight saving time name.

private void DisplayDateWithTimeZoneName(DateTime date1, TimeZoneInfo timeZone)
{
   Console.WriteLine("The time is {0:t} on {0:d} {1}", 
                     date1, 
                     timeZone.IsDaylightSavingTime(date1) ?
                         timeZone.DaylightName : timeZone.StandardName);   
}
// The example displays output similar to the following:
//    The time is 1:00 AM on 4/2/2006 Pacific Standard Time   
Private Sub DisplayDateWithTimeZoneName(date1 As Date, timeZone As TimeZoneInfo)
   Console.WriteLine("The time is {0:t} on {0:d} {1}", _
                     date1, _
                     IIf(timeZone.IsDaylightSavingTime(date1), _
                         timezone.DaylightName, timezone.StandardName))   
End Sub
' The example displays output similar to the following:
'    The time is 1:00 AM on 4/2/2006 Pacific Standard Time   

注釈

TimeZoneInfo.IsDaylightSavingTime の戻り値は、次の表に示すように、TimeZoneInfo オブジェクトによって表されるタイムゾーンと dateTime パラメーターの Kind プロパティの関係によって影響を受けます。The return value of TimeZoneInfo.IsDaylightSavingTime is affected by the relationship between the time zone represented by the TimeZoneInfo object and the Kind property of the dateTime parameter, as the following table shows.

TimeZoneInfo オブジェクトTimeZoneInfo object DateTime. Kind プロパティDateTime.Kind property 結果Result
TimeZoneInfo.Local DateTimeKind.Local dateTime が夏時間かどうかを判断します。Determines whether dateTime is daylight saving time.
TimeZoneInfo.Local DateTimeKind.Utc dateTime を世界協定時刻 (UTC) から現地時刻に変換し、夏時間かどうかを判断します。Converts dateTime from Coordinated Universal Time (UTC) to local time and determines whether it is daylight saving time.
TimeZoneInfo.Local DateTimeKind.Unspecified dateTime が現地時刻を表し、夏時間かどうかを判断します。Assumes that dateTime represents local time and determines whether it is daylight saving time.
TimeZoneInfo.Utc DateTimeKind.LocalDateTimeKind.Unspecified、または DateTimeKind.UtcDateTimeKind.Local, DateTimeKind.Unspecified, or DateTimeKind.Utc false を返します (UTC は夏時間をサポートしていません)。Returns false (UTC does not support daylight saving time).
その他の TimeZoneInfo オブジェクト。Any other TimeZoneInfo object. DateTimeKind.Local 現地時刻を TimeZoneInfo オブジェクトの同等の時刻に変換し、その後、その後の時刻が夏時間かどうかを判断します。Converts the local time to the equivalent time of the TimeZoneInfo object and then determines whether the latter is daylight saving time.
その他の TimeZoneInfo オブジェクト。Any other TimeZoneInfo object. DateTimeKind.Utc UTC を TimeZoneInfo オブジェクトの同等の時刻に変換し、後者が夏時間かどうかを判断します。Converts UTC to the equivalent time of the TimeZoneInfo object and then determines whether the latter is daylight saving time.
その他の TimeZoneInfo オブジェクト。Any other TimeZoneInfo object. DateTimeKind.Unspecified dateTime が夏時間かどうかを判断します。Determines whether dateTime is daylight saving time.

TimeZoneInfo オブジェクトによって表されるタイムゾーンで夏時間がサポートされていない場合、メソッドは常に falseを返します。If the time zone represented by the TimeZoneInfo object does not support daylight saving time, the method always returns false. Utcを含む多くのタイムゾーンは、夏時間を監視しません。A number of time zones, including Utc, do not observe daylight saving time. タイムゾーンで夏時間がサポートされているかどうかを確認するには、SupportsDaylightSavingTime プロパティの値を取得します。To determine whether a time zone supports daylight saving time, retrieve the value of its SupportsDaylightSavingTime property.

dateTime パラメーターが、現在のオブジェクトのタイムゾーンであいまいな時刻を指定した場合、TimeZoneInfo.IsDaylightSavingTime メソッドは dateTime を標準時として解釈し、その Kind プロパティが DateTimeKind.Local または DateTimeKind.Unspecifiedの場合は false を返します。If the dateTime parameter specifies an ambiguous time in the current object's time zone, the TimeZoneInfo.IsDaylightSavingTime method interprets dateTime as standard time and returns false if its Kind property is DateTimeKind.Local or DateTimeKind.Unspecified. Kind プロパティが DateTimeKind.Utc場合、このメソッドは正しいあいまいな時刻を選択し、それが夏時間であるかどうかを示します。If the Kind property is DateTimeKind.Utc, this method will select the correct ambiguous time and indicate whether it is a daylight saving time.

TimeZoneInfo.IsDaylightSavingTime(DateTime) メソッドは、あいまいな日付と時刻 (つまり、特定のタイムゾーンの標準時刻または夏時間を表す日付と時刻) に対して false を返すことができるため、TimeZoneInfo.IsAmbiguousTime(DateTime) メソッドを IsDaylightSavingTime(DateTime) メソッドと組み合わせて、時刻が夏時間かどうかを判断できます。Because the TimeZoneInfo.IsDaylightSavingTime(DateTime) method can return false for a date and time that is ambiguous (that is, a date and time that can represent either a standard time or a daylight saving time in a particular time zone), the TimeZoneInfo.IsAmbiguousTime(DateTime) method can be paired with the IsDaylightSavingTime(DateTime) method to determine whether a time may be a daylight saving time. あいまいな時刻は、夏時間と標準時間の両方になる可能性があるため、IsAmbiguousTime(DateTime) メソッドを最初に呼び出して、日付と時刻が夏時間であるかどうかを判断できます。Because an ambiguous time is one that can be both a daylight saving time and a standard time, the IsAmbiguousTime(DateTime) method can be called first to determine whether a date and time may be a daylight saving time. メソッドが falseを返す場合、IsDaylightSavingTime(DateTime) メソッドを呼び出して、DateTime 値が夏時間であるかどうかを判断できます。If the method returns false, the IsDaylightSavingTime(DateTime) method can be called to determine whether the DateTime value is a daylight saving time. 次の例は、この手法を示しています。The following example illustrates this technique.

DateTime unclearDate = new DateTime(2007, 11, 4, 1, 30, 0);
// Test if time is ambiguous.
Console.WriteLine("In the {0}, {1} is {2}ambiguous.", 
                  TimeZoneInfo.Local.DisplayName, 
                  unclearDate, 
                  TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) ? "" : "not ");
// Test if time is DST.
Console.WriteLine("In the {0}, {1} is {2}daylight saving time.", 
                  TimeZoneInfo.Local.DisplayName, 
                  unclearDate, 
                  TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate) ? "" : "not ");
Console.WriteLine();    
// Report time as DST if it is either ambiguous or DST.
if (TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) || 
    TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate))
    Console.WriteLine("{0} may be daylight saving time in {1}.", 
                      unclearDate, TimeZoneInfo.Local.DisplayName);  
// The example displays the following output:
//    In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is ambiguous.
//    In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is not daylight saving time.
//    
//    11/4/2007 1:30:00 AM may be daylight saving time in (GMT-08:00) Pacific Time (US & Canada).
Dim unclearDate As Date = #11/4/2007 1:30AM#
' Test if time is ambiguous.
Console.WriteLine("In the {0}, {1} is {2}ambiguous.", _ 
                  TimeZoneInfo.Local.DisplayName, _
                  unclearDate, _
                  IIf(TimeZoneInfo.Local.IsAmbiguousTime(unclearDate), "", "not "))
' Test if time is DST.
Console.WriteLine("In the {0}, {1} is {2}daylight saving time.", _ 
                  TimeZoneInfo.Local.DisplayName, _
                  unclearDate, _
                  IIf(TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate), "", "not "))
Console.WriteLine()    
' Report time as DST if it is either ambiguous or DST.
If TimeZoneInfo.Local.IsAmbiguousTime(unclearDate) OrElse _ 
   TimeZoneInfo.Local.IsDaylightSavingTime(unclearDate) Then
    Console.WriteLine("{0} may be daylight saving time in {1}.", _ 
                      unclearDate, TimeZoneInfo.Local.DisplayName)                                           
End If
' The example displays the following output:
'    In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is ambiguous.
'    In the (GMT-08:00) Pacific Time (US & Canada), 11/4/2007 1:30:00 AM is not daylight saving time.
'    
'    11/4/2007 1:30:00 AM may be daylight saving time in (GMT-08:00) Pacific Time (US & Canada).

dateTime パラメーターで無効な時刻が指定されている場合、dateTime パラメーターの Kind プロパティの値が DateTimeKind.Localの場合、メソッドの呼び出しで ArgumentException がスローされます。それ以外の場合、メソッドは falseを返します。If the dateTime parameter specifies an invalid time, the method call throws an ArgumentException if the value of the dateTime parameter's Kind property is DateTimeKind.Local; otherwise, the method returns false.

タイムゾーンの StandardName 値を使用するか、タイムゾーン名を表示するときにその DaylightName 値を使用するかを決定するには、TimeZoneInfo.IsDaylightSavingTime メソッドを呼び出します。Call the TimeZoneInfo.IsDaylightSavingTime method to determine whether to use a time zone's StandardName value or its DaylightName value when displaying the time zone name. 図については、「例」を参照してください。See the Example section for an illustration.

こちらもご覧ください

適用対象