Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

TimeZone.IsDaylightSavingTime Method (DateTime)

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

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

'Declaration
Public Overridable Function IsDaylightSavingTime ( _
	time As DateTime _
) As Boolean

Parameters

time
Type: System.DateTime
A date and time.

Return Value

Type: System.Boolean
true if time is in a daylight saving time period; otherwise, false.

The year to which the daylight saving time period applies is derived from the time parameter.

Because the TimeZone class supports a single daylight saving time adjustment rule, the IsDaylightSavingTime(DateTime) method applies the current adjustment rule to any date, regardless of whether the adjustment rule was in effect on that date. Assuming that the operating system itself has accurate historic daylight saving time data, a more accurate result is available by using the TimeZoneInfo.IsDaylightSavingTime method. Whenever possible, use the TimeZoneInfo.IsDaylightSavingTime method.

The following example uses the IsDaylightSavingTime method to determine whether selected dates are within daylight saving time for any year.


' 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


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2015 Microsoft