Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
This topic has not yet been rated - Rate this topic

TimeZone.IsDaylightSavingTime Method

Returns a value indicating whether a specified date and time is within a daylight saving time period.

Overload List

Returns a value indicating whether the specified date and time is within a daylight saving time period.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Overridable Function IsDaylightSavingTime(DateTime) As Boolean
[C#] public virtual bool IsDaylightSavingTime(DateTime);
[C++] public: virtual bool IsDaylightSavingTime(DateTime);
[JScript] public function IsDaylightSavingTime(DateTime) : Boolean;

Returns a value indicating whether the specified date and time is within the specified daylight saving time period.

Supported by the .NET Compact Framework.

[Visual Basic] Overloads Public Shared Function IsDaylightSavingTime(DateTime, DaylightTime) As Boolean
[C#] public static bool IsDaylightSavingTime(DateTime, DaylightTime);
[C++] public: static bool IsDaylightSavingTime(DateTime, DaylightTime*);
[JScript] public static function IsDaylightSavingTime(DateTime, DaylightTime) : Boolean;

Example

[Visual Basic, C#, C++] The following code example uses the IsDaylightSavingTime method to determine whether selected dates are within daylight saving time for a particular year.

[Visual Basic, C#, C++] Note   This example shows how to use one of the overloaded versions of IsDaylightSavingTime. For other examples that might be available, see the individual overload topics.
[Visual Basic] 
' Example of the TimeZone.IsDaylightSavingTime( DateTime ),
' TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and 
' TimeZone.ToUniversalTime( DateTime ) methods.
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Module DaylightTimeDemo

    Sub Main( )

        Const headFmt As String = "{0,-22}{1,-10}{2,-10}{3,-10}{4}"

        ' Get the local time zone and a base local time.
        Dim localZone As TimeZone = TimeZone.CurrentTimeZone
        Dim localTime As DateTime = new DateTime( 2001, 1, 1 )

        Console.WriteLine( "This example of " & vbCrLf & _
            "   TimeZone.IsDaylightSavingTime( DateTime ), " & _
            vbCrLf & "   TimeZone.IsDaylightSavingTime( " & _
            "DateTime, DaylightTime ), and " & vbCrLf & _
            "   TimeZone.ToUniversalTime( DateTime )" & vbCrLf & _
            "generates the following output, which varies " & _
            "depending on the " & vbCrLf & "time zone in which " & _
            "it is run." & vbCrLf )
        Console.WriteLine( "The example creates " & _
            "several local times and the corresponding " & vbCrLf & _
            "Coordinated Universal Times (UTC) and shows if " & _
            "they occur in " & vbCrLf & "daylight saving time " & _
            "(DST), both for specified years and for " & vbCrLf & _
            "any year." & vbCrLf )
        Console.WriteLine( "Local time: {0}" & vbCrLf, _
            localZone.StandardName )

        Console.WriteLine( headFmt, "Local Date and Time", _
            "2001 DST?", "2002 DST?", "Any DST?", "Corresponding UTC" )
        Console.WriteLine( headFmt, "-------------------", _
            "---------", "---------", "--------", "-----------------" )

        ' Create DaylightTime objects for specific years.
        Dim daylight2001 As DaylightTime = _
            localZone.GetDaylightChanges( 2001 )
        Dim daylight2002 As DaylightTime = _
            localZone.GetDaylightChanges( 2002 )

        ' Generate several local times.
        Dim loopX As Integer
        For loopX = 0 to 10

            ' Calculate the corresponding UTC.
            Dim utcTime As DateTime = _
                localZone.ToUniversalTime( localTime )

            ' Show if dates and times occur in daylight saving 
            ' time, for specified years and for any year.
            Console.WriteLine( "{0,-22:yyyy-MM-dd HH:mm}" & _
                "{1,-10}{2,-10}{3,-10}{4:yyyy-MM-dd HH:mm}", _
                localTime, _
                TimeZone.IsDaylightSavingTime( _
                    localTime, daylight2001 ), _
                TimeZone.IsDaylightSavingTime( _
                    localTime, daylight2002 ), _
                localZone.IsDaylightSavingTime( localTime ), _
                utcTime )
            
            ' Advance to another local time.
            localTime = localTime.AddDays( 109.1 )
        Next loopX
    End Sub
End Module 

' This example of
'    TimeZone.IsDaylightSavingTime( DateTime ),
'    TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and
'    TimeZone.ToUniversalTime( DateTime )
' generates the following output, which varies depending on the
' time zone in which it is run.
' 
' The example creates several local times and the corresponding
' Coordinated Universal Times (UTC) and shows if they occur in
' daylight saving time (DST), both for specified years and for
' any year.
' 
' Local time: Pacific Standard Time
' 
' Local Date and Time   2001 DST? 2002 DST? Any DST?  Corresponding UTC
' -------------------   --------- --------- --------  -----------------
' 2001-01-01 00:00      False     False     False     2001-01-01 08:00
' 2001-04-20 02:24      True      False     True      2001-04-20 09:24
' 2001-08-07 04:48      True      False     True      2001-08-07 11:48
' 2001-11-24 07:12      False     False     False     2001-11-24 15:12
' 2002-03-13 09:36      False     False     False     2002-03-13 17:36
' 2002-06-30 12:00      False     True      True      2002-06-30 19:00
' 2002-10-17 14:24      False     True      True      2002-10-17 21:24
' 2003-02-03 16:48      False     False     False     2003-02-04 00:48
' 2003-05-23 19:12      False     False     True      2003-05-24 02:12
' 2003-09-09 21:36      False     False     True      2003-09-10 04:36
' 2003-12-28 00:00      False     False     False     2003-12-28 08:00

[C#] 
// Example of the TimeZone.IsDaylightSavingTime( DateTime ),
// TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and 
// TimeZone.ToUniversalTime( DateTime ) methods.
using System;
using System.Globalization;

class DaylightTimeDemo
{
    static void Main( )
    {
        const string headFmt = "{0,-22}{1,-10}{2,-10}{3,-10}{4}";

        // Get the local time zone and a base local time.
        TimeZone localZone = TimeZone.CurrentTimeZone;
        DateTime localTime = new DateTime( 2001, 1, 1 );

        Console.WriteLine( "This example of \n" +
            "   TimeZone.IsDaylightSavingTime( DateTime ), \n" +
            "   TimeZone.IsDaylightSavingTime( " +
            "DateTime, DaylightTime ), and \n" +
            "   TimeZone.ToUniversalTime( DateTime )\n" +
            "generates the following output, which varies " +
            "depending on the \ntime zone in which it is run.\n" );
        Console.WriteLine( "The example creates several local " +
            "times and the corresponding \nCoordinated Universal " +
            "Times (UTC) and shows if they occur in \ndaylight " +
            "saving time (DST), both for specified years " +
            "and for \nany year.\n" );
        Console.WriteLine( "Local time: {0}\n", 
            localZone.StandardName );

        Console.WriteLine( headFmt, "Local Date and Time", "2001 DST?", 
            "2002 DST?", "Any DST?", "Corresponding UTC" );
        Console.WriteLine( headFmt, "-------------------", "---------", 
            "---------", "--------", "-----------------" );

        // Create DaylightTime objects for specific years.
        DaylightTime daylight2001 = 
            localZone.GetDaylightChanges( 2001 );
        DaylightTime daylight2002 = 
            localZone.GetDaylightChanges( 2002 );

        // Generate several local times.
        for( int loopX = 0; loopX <= 10; loopX++ )
        {
            // Calculate the corresponding UTC.
            DateTime utcTime = 
                localZone.ToUniversalTime( localTime );

            // Show if dates and times occur in daylight saving 
            // time, for specified years and for any year.
            Console.WriteLine( "{0,-22:yyyy-MM-dd HH:mm}" +
                "{1,-10}{2,-10}{3,-10}{4:yyyy-MM-dd HH:mm}", 
                localTime, 
                TimeZone.IsDaylightSavingTime( 
                    localTime, daylight2001 ), 
                TimeZone.IsDaylightSavingTime( 
                    localTime, daylight2002 ), 
                localZone.IsDaylightSavingTime( localTime ), 
                utcTime );
            
            // Advance to another local time.
            localTime = localTime.AddDays( 109.1 );
        }
    } 
} 

/*
This example of
   TimeZone.IsDaylightSavingTime( DateTime ),
   TimeZone.IsDaylightSavingTime( DateTime, DaylightTime ), and
   TimeZone.ToUniversalTime( DateTime )
generates the following output, which varies depending on the
time zone in which it is run.

The example creates several local times and the corresponding
Coordinated Universal Times (UTC) and shows if they occur in
daylight saving time (DST), both for specified years and for
any year.

Local time: Pacific Standard Time

Local Date and Time   2001 DST? 2002 DST? Any DST?  Corresponding UTC
-------------------   --------- --------- --------  -----------------
2001-01-01 00:00      False     False     False     2001-01-01 08:00
2001-04-20 02:24      True      False     True      2001-04-20 09:24
2001-08-07 04:48      True      False     True      2001-08-07 11:48
2001-11-24 07:12      False     False     False     2001-11-24 15:12
2002-03-13 09:36      False     False     False     2002-03-13 17:36
2002-06-30 12:00      False     True      True      2002-06-30 19:00
2002-10-17 14:24      False     True      True      2002-10-17 21:24
2003-02-03 16:48      False     False     False     2003-02-04 00:48
2003-05-23 19:12      False     False     True      2003-05-24 02:12
2003-09-09 21:36      False     False     True      2003-09-10 04:36
2003-12-28 00:00      False     False     False     2003-12-28 08:00
*/

[C++] 
// Example of the TimeZone::IsDaylightSavingTime( DateTime ),
// TimeZone::IsDaylightSavingTime( DateTime, DaylightTime ), and 
// TimeZone::ToUniversalTime( DateTime ) methods.
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;

void main( )
{
    String* headFmt = S"{0,-22}{1,-10}{2,-10}{3,-10}{4}";

    // Get the local time zone and a base local time.
    TimeZone* localZone = TimeZone::CurrentTimeZone;
    DateTime  localTime = DateTime( 2001, 1, 1 );

    Console::WriteLine( S"This example of \n" 
        S"   TimeZone::IsDaylightSavingTime( DateTime ), \n" 
        S"   TimeZone::IsDaylightSavingTime( " 
        S"DateTime, DaylightTime* ), and \n" 
        S"   TimeZone::ToUniversalTime( DateTime )\n" 
        S"generates the following output, which varies " 
        S"depending on the \ntime zone in which it is run.\n" );
    Console::WriteLine( S"The example creates several local " 
        S"times and the corresponding \nCoordinated Universal " 
        S"Times (UTC) and shows if they occur in \ndaylight " 
        S"saving time (DST), both for specified years " 
        S"and for \nany year.\n" );
    Console::WriteLine( S"Local time: {0}\n", 
        localZone->StandardName );

    Console::WriteLine( headFmt, S"Local Date and Time", S"2001 DST?", 
        S"2002 DST?", S"Any DST?", S"Corresponding UTC" );
    Console::WriteLine( headFmt, S"-------------------", S"---------", 
        S"---------", S"--------", S"-----------------" );

    // Create DaylightTime objects for specific years.
    DaylightTime* daylight2001 = 
        localZone->GetDaylightChanges( 2001 );
    DaylightTime* daylight2002 = 
        localZone->GetDaylightChanges( 2002 );

    // Generate several local times.
    for( int loopX = 0; loopX <= 10; loopX++ )
    {
        // Calculate the corresponding UTC.
        DateTime utcTime = 
            localZone->ToUniversalTime( localTime );

        // Show if dates and times occur in daylight saving 
        // time, for specified years and for any year.
        Console::WriteLine( S"{0,-22:yyyy-MM-dd HH:mm}" 
            S"{1,-10}{2,-10}{3,-10}{4:yyyy-MM-dd HH:mm}", 
            __box( localTime ), 
            __box( TimeZone::IsDaylightSavingTime( 
                localTime, daylight2001 ) ), 
            __box( TimeZone::IsDaylightSavingTime( 
                localTime, daylight2002 ) ), 
            __box( localZone->IsDaylightSavingTime( localTime ) ), 
            __box( utcTime ) );
        
        // Advance to another local time.
        localTime = localTime.AddDays( 109.1 );
    }
} 

/*
This example of
   TimeZone::IsDaylightSavingTime( DateTime ),
   TimeZone::IsDaylightSavingTime( DateTime, DaylightTime* ), and
   TimeZone::ToUniversalTime( DateTime )
generates the following output, which varies depending on the
time zone in which it is run.

The example creates several local times and the corresponding
Coordinated Universal Times (UTC) and shows if they occur in
daylight saving time (DST), both for specified years and for
any year.

Local time: Pacific Standard Time

Local Date and Time   2001 DST? 2002 DST? Any DST?  Corresponding UTC
-------------------   --------- --------- --------  -----------------
2001-01-01 00:00      False     False     False     2001-01-01 08:00
2001-04-20 02:24      True      False     True      2001-04-20 09:24
2001-08-07 04:48      True      False     True      2001-08-07 11:48
2001-11-24 07:12      False     False     False     2001-11-24 15:12
2002-03-13 09:36      False     False     False     2002-03-13 17:36
2002-06-30 12:00      False     True      True      2002-06-30 19:00
2002-10-17 14:24      False     True      True      2002-10-17 21:24
2003-02-03 16:48      False     False     False     2003-02-04 00:48
2003-05-23 19:12      False     False     True      2003-05-24 02:12
2003-09-09 21:36      False     False     True      2003-09-10 04:36
2003-12-28 00:00      False     False     False     2003-12-28 08:00
*/

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

TimeZone Class | TimeZone Members | System Namespace

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.