다음을 통해 공유


TimeZone.GetDaylightChanges 메서드

특정 연도에 대한 일광 절약 시간 적용 기간을 반환합니다.

네임스페이스: System
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public MustOverride Function GetDaylightChanges ( _
    year As Integer _
) As DaylightTime
‘사용 방법
Dim instance As TimeZone
Dim year As Integer
Dim returnValue As DaylightTime

returnValue = instance.GetDaylightChanges(year)
public abstract DaylightTime GetDaylightChanges (
    int year
)
public:
virtual DaylightTime^ GetDaylightChanges (
    int year
) abstract
public abstract DaylightTime GetDaylightChanges (
    int year
)
public abstract function GetDaylightChanges (
    year : int
) : DaylightTime

매개 변수

  • year
    일광 절약 시간이 적용되는 연도입니다.

반환 값

year에서 일광 절약 시간의 시작 및 끝 날짜를 포함하는 System.Globalization.DaylightTime 인스턴스입니다.

예외

예외 형식 조건

ArgumentOutOfRangeException

year가 1보다 작거나 9999보다 큰 경우

설명

일광 절약 시간은 한 해에 한 번만 사용할 수 있습니다.

현재 표준 시간대에서 일광 절약 시간을 사용하지 않으면 반환 값은 DaylightTime이며, 여기에서 StartEnd의 값은 DateTime.MinValue이고, DaylightTime.Delta의 값은 0틱으로 초기화된 TimeSpan입니다.

예제

다음 코드 예제에서는 GetDaylightChanges 메서드를 사용하여 선택한 연도의 일광 절약 시간 적용 기간 및 오프셋을 반환합니다.

' Example of the TimeZone.GetDaylightChanges( Integer ) method.
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic

Module DaylightChangesDemo

    ' Get the local time zone and a base local time.
    Dim localZone As TimeZone = TimeZone.CurrentTimeZone

    Sub CreateDaylightTime( year As Integer )

        ' Create a DaylightTime object for the specified year.
        Dim daylight As DaylightTime = _
            localZone.GetDaylightChanges( year )

        ' Display the start and end dates and the time change.
        Console.WriteLine( "{0,-7}{1,-20:yyyy-MM-dd HH:mm}" & _
            "{2,-20:yyyy-MM-dd HH:mm}{3}", _
            year, daylight.Start, daylight.End, daylight.Delta )
    End Sub 

    Sub Main( )

        Const headFmt As String = "{0,-7}{1,-20}{2,-20}{3}"

        Console.WriteLine( _
            "This example of TimeZone.GetDaylightChanges( " & _
            "Integer ) generates the " & vbCrLf & "following " & _
            "output, which varies depending on the time zone " & _
            "in which " & vbCrLf & "it is run. The example " & _
            "creates DaylightTime objects for specified " & _
            vbCrLf & "years and displays the start and end dates " & _
            "and time change for " & vbCrLf &  "daylight " & _
            "saving time." & vbCrLf )

        ' Write a message explaining that start dates prior to 1986 
        ' in the en-US culture may not be correct.
        If CultureInfo.CurrentCulture.Name = "en-US" Then

            Console.WriteLine( _
                "Note: In the [en-US] culture, all start dates " & _
                "are calculated from " & vbCrLf & "the first " & _
                "Sunday in April, based on a standard set in " & _
                "1986. For " & vbCrLf & "dates prior to 1986, " & _
                "the calculated start date may not be accurate." )
        End If

        Console.WriteLine( vbCrLf & "Local time: {0}" & vbCrLf, _
            localZone.StandardName )

        Console.WriteLine( headFmt, "Year", "Start", "End", "Change" )
        Console.WriteLine( headFmt, "----", "-----", "---", "------" )

        CreateDaylightTime( 1960 )
        CreateDaylightTime( 1970 )
        CreateDaylightTime( 1980 )
        CreateDaylightTime( 1990 )
        CreateDaylightTime( 2000 )
        CreateDaylightTime( 2001 )
        CreateDaylightTime( 2002 )
        CreateDaylightTime( 2003 )
        CreateDaylightTime( 2004 )
        CreateDaylightTime( 2005 )
        CreateDaylightTime( 2020 )
        CreateDaylightTime( 2040 )
    End Sub 
End Module 

' This example of TimeZone.GetDaylightChanges( Integer ) generates the
' following output, which varies depending on the time zone in which
' it is run. The example creates DaylightTime objects for specified
' years and displays the start and end dates and time change for
' daylight saving time.
' 
' Note: In the [en-US] culture, all start dates are calculated from
' the first Sunday in April, based on a standard set in 1986. For
' dates prior to 1986, the calculated start date may not be accurate.
' 
' Local time: Pacific Standard Time
' 
' Year   Start               End                 Change
' ----   -----               ---                 ------
' 1960   1960-04-03 02:00    1960-10-30 02:00    01:00:00
' 1970   1970-04-05 02:00    1970-10-25 02:00    01:00:00
' 1980   1980-04-06 02:00    1980-10-26 02:00    01:00:00
' 1990   1990-04-01 02:00    1990-10-28 02:00    01:00:00
' 2000   2000-04-02 02:00    2000-10-29 02:00    01:00:00
' 2001   2001-04-01 02:00    2001-10-28 02:00    01:00:00
' 2002   2002-04-07 02:00    2002-10-27 02:00    01:00:00
' 2003   2003-04-06 02:00    2003-10-26 02:00    01:00:00
' 2004   2004-04-04 02:00    2004-10-31 02:00    01:00:00
' 2005   2005-04-03 02:00    2005-10-30 02:00    01:00:00
' 2020   2020-04-05 02:00    2020-10-25 02:00    01:00:00
' 2040   2040-04-01 02:00    2040-10-28 02:00    01:00:00
// Example of the TimeZone.GetDaylightChanges( int ) method.
using System;
using System.Globalization;

class DaylightChangesDemo
{
    // Get the local time zone and a base local time.
    static TimeZone localZone = TimeZone.CurrentTimeZone;

    static void CreateDaylightTime( int year )
    {
        // Create a DaylightTime object for the specified year.
        DaylightTime daylight = 
            localZone.GetDaylightChanges( year );

        // Display the start and end dates and the time change.
        Console.WriteLine( "{0,-7}{1,-20:yyyy-MM-dd HH:mm}" +
            "{2,-20:yyyy-MM-dd HH:mm}{3}", 
            year, daylight.Start, daylight.End, daylight.Delta );
    } 

    static void Main( )
    {
        const string headFmt = "{0,-7}{1,-20}{2,-20}{3}";

        Console.WriteLine(
            "This example of TimeZone.GetDaylightChanges( int ) " +
            "generates the \nfollowing output, which varies " +
            "depending on the time zone in which \nit is run. The " +
            "example creates DaylightTime objects for specified \n" +
            "years and displays the start and end dates and time " +
            "change for \ndaylight saving time.\n" );

        // Write a message explaining that start dates prior to 1986 
        // in the en-US culture may not be correct.
        if( CultureInfo.CurrentCulture.Name == "en-US" )
        {
            Console.WriteLine(
                "Note: In the [en-US] culture, all start dates are " +
                "calculated from \nthe first Sunday in April, " +
                "based on a standard set in 1986. For \ndates " +
                "prior to 1986, the calculated start date may not " +
                "be accurate." );
        }

        Console.WriteLine( "\nLocal time: {0}\n", 
            localZone.StandardName );

        Console.WriteLine( headFmt, "Year", "Start", "End", "Change" );
        Console.WriteLine( headFmt, "----", "-----", "---", "------" );

        CreateDaylightTime( 1960 );
        CreateDaylightTime( 1970 );
        CreateDaylightTime( 1980 );
        CreateDaylightTime( 1990 );
        CreateDaylightTime( 2000 );
        CreateDaylightTime( 2001 );
        CreateDaylightTime( 2002 );
        CreateDaylightTime( 2003 );
        CreateDaylightTime( 2004 );
        CreateDaylightTime( 2005 );
        CreateDaylightTime( 2020 );
        CreateDaylightTime( 2040 );
    } 
} 

/*
This example of TimeZone.GetDaylightChanges( int ) generates the
following output, which varies depending on the time zone in which
it is run. The example creates DaylightTime objects for specified
years and displays the start and end dates and time change for
daylight saving time.

Note: In the [en-US] culture, all start dates are calculated from
the first Sunday in April, based on a standard set in 1986. For
dates prior to 1986, the calculated start date may not be accurate.

Local time: Pacific Standard Time

Year   Start               End                 Change
----   -----               ---                 ------
1960   1960-04-03 02:00    1960-10-30 02:00    01:00:00
1970   1970-04-05 02:00    1970-10-25 02:00    01:00:00
1980   1980-04-06 02:00    1980-10-26 02:00    01:00:00
1990   1990-04-01 02:00    1990-10-28 02:00    01:00:00
2000   2000-04-02 02:00    2000-10-29 02:00    01:00:00
2001   2001-04-01 02:00    2001-10-28 02:00    01:00:00
2002   2002-04-07 02:00    2002-10-27 02:00    01:00:00
2003   2003-04-06 02:00    2003-10-26 02:00    01:00:00
2004   2004-04-04 02:00    2004-10-31 02:00    01:00:00
2005   2005-04-03 02:00    2005-10-30 02:00    01:00:00
2020   2020-04-05 02:00    2020-10-25 02:00    01:00:00
2040   2040-04-01 02:00    2040-10-28 02:00    01:00:00
*/ 
// Example of the TimeZone::GetDaylightChanges( int ) method.
using namespace System;
using namespace System::Globalization;
void CreateDaylightTime( int year, TimeZone^ localZone )
{
   
   // Create a DaylightTime object for the specified year.
   DaylightTime^ daylight = localZone->GetDaylightChanges( year );
   
   // Display the start and end dates and the time change.
   Console::WriteLine( "{0,-7}{1,-20:yyyy-MM-dd HH:mm}"
   "{2,-20:yyyy-MM-dd HH:mm}{3}", year, daylight->Start, daylight->End, daylight->Delta );
}

int main()
{
   String^ headFmt = "{0,-7}{1,-20}{2,-20}{3}";
   
   // Get the local time zone.
   TimeZone^ localZone = TimeZone::CurrentTimeZone;
   Console::WriteLine( "This example of TimeZone::GetDaylightChanges( int ) "
   "generates the \nfollowing output, which varies "
   "depending on the time zone in which \nit is run. The "
   "example creates DaylightTime objects for specified \n"
   "years and displays the start and end dates and time "
   "change for \ndaylight saving time.\n" );
   
   // Write a message explaining that start dates prior to 1986 
   // in the en-US culture may not be correct.
   // ( CultureInfo::CurrentCulture->Name == S"en-US" ) returns False.
   if ( CultureInfo::CurrentCulture->Name->CompareTo( "en-US" ) == 0 )
   {
      Console::WriteLine( "Note: In the [en-US] culture, all start dates are "
      "calculated from \nthe first Sunday in April, based on "
      "a standard set in 1986. For \ndates prior to 1986, "
      "the calculated start date may not be accurate." );
   }

   Console::WriteLine( "\nLocal time: {0}\n", localZone->StandardName );
   Console::WriteLine( headFmt, "Year", "Start", "End", "Change" );
   Console::WriteLine( headFmt, "----", "-----", "---", "------" );
   CreateDaylightTime( 1960, localZone );
   CreateDaylightTime( 1970, localZone );
   CreateDaylightTime( 1980, localZone );
   CreateDaylightTime( 1990, localZone );
   CreateDaylightTime( 2000, localZone );
   CreateDaylightTime( 2001, localZone );
   CreateDaylightTime( 2002, localZone );
   CreateDaylightTime( 2003, localZone );
   CreateDaylightTime( 2004, localZone );
   CreateDaylightTime( 2005, localZone );
   CreateDaylightTime( 2020, localZone );
   CreateDaylightTime( 2040, localZone );
}

/*
This example of TimeZone::GetDaylightChanges( int ) generates the
following output, which varies depending on the time zone in which
it is run. The example creates DaylightTime objects for specified
years and displays the start and end dates and time change for
daylight saving time.

Note: In the [en-US] culture, all start dates are calculated from
the first Sunday in April, based on a standard set in 1986. For
dates prior to 1986, the calculated start date may not be accurate.

Local time: Pacific Standard Time

Year   Start               End                 Change
----   -----               ---                 ------
1960   1960-04-03 02:00    1960-10-30 02:00    01:00:00
1970   1970-04-05 02:00    1970-10-25 02:00    01:00:00
1980   1980-04-06 02:00    1980-10-26 02:00    01:00:00
1990   1990-04-01 02:00    1990-10-28 02:00    01:00:00
2000   2000-04-02 02:00    2000-10-29 02:00    01:00:00
2001   2001-04-01 02:00    2001-10-28 02:00    01:00:00
2002   2002-04-07 02:00    2002-10-27 02:00    01:00:00
2003   2003-04-06 02:00    2003-10-26 02:00    01:00:00
2004   2004-04-04 02:00    2004-10-31 02:00    01:00:00
2005   2005-04-03 02:00    2005-10-30 02:00    01:00:00
2020   2020-04-05 02:00    2020-10-25 02:00    01:00:00
2040   2040-04-01 02:00    2040-10-28 02:00    01:00:00
*/
// Example of the TimeZone.GetDaylightChanges( int ) method.
import System.*;
import System.Globalization.*;

class DaylightChangesDemo
{
    // Get the local time zone and a base local time.
    private static TimeZone localZone = TimeZone.get_CurrentTimeZone();
   
    static void CreateDaylightTime(int year) 
    {
        // Create a DaylightTime object for the specified year.
        DaylightTime daylight = localZone.GetDaylightChanges(year);
      
         // Display the start and end dates and the time change.
        Console.WriteLine("{0,-7}{1,-20:yyyy-MM-dd HH:mm}"
            + "{2,-20:yyyy-MM-dd HH:mm}{3}", new Object[] {
            (System.Int32)year, daylight.get_Start(), daylight.get_End(),
            daylight.get_Delta() } );
    } //CreateDaylightTime
      
    public static void main(String[] args)
    {
        final String headFmt = "{0,-7}{1,-20}{2,-20}{3}";
      
        Console.WriteLine(("This example of TimeZone.GetDaylightChanges( int )"
            + " generates the \nfollowing output, which varies "
            + "depending on the time zone in which \nit is run. The " 
            + "example creates DaylightTime objects for specified \n" 
            + "years and displays the start and end dates and time " 
            + "change for \ndaylight saving time.\n"));
      
        // Write a message explaining that start dates prior to 1986 
        // in the en-US culture may not be correct.
        if(CultureInfo.get_CurrentCulture().get_Name()
            .equalsIgnoreCase("en-US")) {
                Console.WriteLine(("Note: In the [en-US] culture, all"
                    + " start dates are calculated from \nthe first Sunday in April, "
                    + "based on a standard set in 1986. For \ndates " 
                    + "prior to 1986, the calculated start date may not " 
                    + "be accurate."));
        }
      
        Console.WriteLine("\nLocal time: {0}\n", localZone.get_StandardName());
        Console.WriteLine(headFmt, new Object[] { "Year", "Start", "End",
            "Change" });
        Console.WriteLine(headFmt, new Object[] { "----", "-----", "---",
            "------" });
      
        CreateDaylightTime(1960);
        CreateDaylightTime(1970);
        CreateDaylightTime(1980);
        CreateDaylightTime(1990);
        CreateDaylightTime(2000);
        CreateDaylightTime(2001);
        CreateDaylightTime(2002);
        CreateDaylightTime(2003);
        CreateDaylightTime(2004);
        CreateDaylightTime(2005);
        CreateDaylightTime(2020);
        CreateDaylightTime(2040);
    } //main
} //DaylightChangesDemo

/*
This example of TimeZone.GetDaylightChanges( int ) generates the
following output, which varies depending on the time zone in which
it is run. The example creates DaylightTime objects for specified
years and displays the start and end dates and time change for
daylight saving time.

Note: In the [en-US] culture, all start dates are calculated from
the first Sunday in April, based on a standard set in 1986. For
dates prior to 1986, the calculated start date may not be accurate.

Local time: Pacific Standard Time

Year   Start               End                 Change
----   -----               ---                 ------
1960   1960-04-03 02:00    1960-10-30 02:00    01:00:00
1970   1970-04-05 02:00    1970-10-25 02:00    01:00:00
1980   1980-04-06 02:00    1980-10-26 02:00    01:00:00
1990   1990-04-01 02:00    1990-10-28 02:00    01:00:00
2000   2000-04-02 02:00    2000-10-29 02:00    01:00:00
2001   2001-04-01 02:00    2001-10-28 02:00    01:00:00
2002   2002-04-07 02:00    2002-10-27 02:00    01:00:00
2003   2003-04-06 02:00    2003-10-26 02:00    01:00:00
2004   2004-04-04 02:00    2004-10-31 02:00    01:00:00
2005   2005-04-03 02:00    2005-10-30 02:00    01:00:00
2020   2020-04-05 02:00    2020-10-25 02:00    01:00:00
2040   2040-04-01 02:00    2040-10-28 02:00    01:00:00
*/

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

TimeZone 클래스
TimeZone 멤버
System 네임스페이스
Int32 구조체