TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
오버로드
CreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo+TransitionTime, TimeZoneInfo+TransitionTime) |
특정 표준 시간대에 대한 새 조정 규칙을 만듭니다. |
CreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo+TransitionTime, TimeZoneInfo+TransitionTime, TimeSpan) |
특정 표준 시간대에 대한 새 조정 규칙을 만듭니다. |
CreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo+TransitionTime, TimeZoneInfo+TransitionTime)
특정 표준 시간대에 대한 새 조정 규칙을 만듭니다.
public:
static TimeZoneInfo::AdjustmentRule ^ CreateAdjustmentRule(DateTime dateStart, DateTime dateEnd, TimeSpan daylightDelta, TimeZoneInfo::TransitionTime daylightTransitionStart, TimeZoneInfo::TransitionTime daylightTransitionEnd);
public static TimeZoneInfo.AdjustmentRule CreateAdjustmentRule (DateTime dateStart, DateTime dateEnd, TimeSpan daylightDelta, TimeZoneInfo.TransitionTime daylightTransitionStart, TimeZoneInfo.TransitionTime daylightTransitionEnd);
static member CreateAdjustmentRule : DateTime * DateTime * TimeSpan * TimeZoneInfo.TransitionTime * TimeZoneInfo.TransitionTime -> TimeZoneInfo.AdjustmentRule
Public Shared Function CreateAdjustmentRule (dateStart As DateTime, dateEnd As DateTime, daylightDelta As TimeSpan, daylightTransitionStart As TimeZoneInfo.TransitionTime, daylightTransitionEnd As TimeZoneInfo.TransitionTime) As TimeZoneInfo.AdjustmentRule
매개 변수
- dateStart
- DateTime
조정 규칙의 적용 날짜입니다. dateStart
매개 변수의 값이 DateTime.MinValue.Date
인 경우 이는 표준 시간대에 적용된 첫 번째 조정 규칙입니다.
- dateEnd
- DateTime
조정 규칙이 적용되는 마지막 날짜입니다. dateEnd
매개 변수의 값이 DateTime.MaxValue.Date
인 경우 조정 규칙에 종료 날짜가 없습니다.
- daylightDelta
- TimeSpan
조정으로 인한 시간 변경입니다. UTC(협정 세계시)에서 올바른 일광 오프셋을 얻기 위해 이 값이 표준 시간대의 BaseUtcOffset 속성에 추가됩니다. 이 값 범위는 -14에서 14까지일 수 있습니다.
- daylightTransitionStart
- TimeZoneInfo.TransitionTime
일광 절약 시간제의 시작을 정의하는 개체입니다.
- daylightTransitionEnd
- TimeZoneInfo.TransitionTime
일광 절약 시간제의 끝을 정의하는 개체입니다.
반환
새 조정 규칙을 나타내는 개체입니다.
예외
dateStart
또는 dateEnd
매개 변수의 Kind 속성이 Unspecified와 같지 않습니다.
또는
daylightTransitionStart
매개 변수가 daylightTransitionEnd
매개 변수와 같습니다.
또는
dateStart
또는 dateEnd
매개 변수가 시간 값을 포함합니다.
dateEnd
가 dateStart
보다 이전인 경우
또는
daylightDelta
가 -14보다 작거나 14보다 큽니다.
또는
daylightDelta
매개 변수의 Milliseconds 속성이 0과 같지 않습니다.
또는
daylightDelta
매개 변수의 Ticks 속성이 전체 시간(초)과 같지 않습니다.
예제
다음 예제에서는 대체 중앙 표준 시간대를 만들고 1976-1986, 1987-2006 및 2007 이상 기간에 대한 세 가지 조정 규칙을 정의합니다. 이러한 규칙은 요소가 배열에 복사되는 제네릭 List<T> 개체에 TimeZoneInfo.AdjustmentRule 추가됩니다. 이 배열은 메서드 호출 TimeZoneInfo.CreateCustomTimeZone(String, TimeSpan, String, String, String, TimeZoneInfo+AdjustmentRule[]) 에 사용됩니다.
// Create alternate Central Standard Time to include historical time zone information
//
// Declare necessary TimeZoneInfo.AdjustmentRule objects for time zone
TimeSpan delta = new TimeSpan(1, 0, 0);
TimeZoneInfo.AdjustmentRule adjustment;
List<TimeZoneInfo.AdjustmentRule> adjustmentList = new List<TimeZoneInfo.AdjustmentRule>();
// Declare transition time variables to hold transition time information
TimeZoneInfo.TransitionTime transitionRuleStart, transitionRuleEnd;
// Define end rule (for 1976-2006)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 10, 5, DayOfWeek.Sunday);
// Define rule (1976-1986)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 04, 05, DayOfWeek.Sunday);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1976, 1, 1), new DateTime(1986, 12, 31), delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define rule (1987-2006)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 04, 01, DayOfWeek.Sunday);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(1987, 1, 1), new DateTime(2006, 12, 31), delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Define rule (2007- )
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 03, 02, DayOfWeek.Sunday);
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 2, 0, 0), 11, 01, DayOfWeek.Sunday);
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(new DateTime(2007, 01, 01), DateTime.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd);
adjustmentList.Add(adjustment);
// Create custom U.S. Central Standard Time zone
TimeZoneInfo.CreateCustomTimeZone("Central Standard Time", new TimeSpan(-6, 0, 0),
"(GMT-06:00) Central Time (US Only)", "Central Standard Time",
"Central Daylight Time", adjustmentList.ToArray());
// Create alternate Central Standard Time to include historical time zone information
let delta = TimeSpan(1, 0, 0)
let adjustmentList = ResizeArray()
// Define end rule (for 1976-2006)
let transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 2, 0, 0), 10, 5, DayOfWeek.Sunday)
// Define rule (1976-1986)
let transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 2, 0, 0), 04, 05, DayOfWeek.Sunday)
TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(1976, 1, 1), DateTime(1986, 12, 31), delta, transitionRuleStart, transitionRuleEnd)
|> adjustmentList.Add
// Define rule (1987-2006)
let transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 2, 0, 0), 04, 01, DayOfWeek.Sunday)
TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(1987, 1, 1), DateTime(2006, 12, 31), delta, transitionRuleStart, transitionRuleEnd)
|> adjustmentList.Add
// Define rule (2007- )
let transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 2, 0, 0), 03, 02, DayOfWeek.Sunday)
let transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(DateTime(1, 1, 1, 2, 0, 0), 11, 01, DayOfWeek.Sunday)
TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(DateTime(2007, 01, 01), DateTime.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd)
|> adjustmentList.Add
// Create custom U.S. Central Standard Time zone
TimeZoneInfo.CreateCustomTimeZone("Central Standard Time", TimeSpan(-6, 0, 0),
"(GMT-06:00) Central Time (US Only)", "Central Standard Time",
"Central Daylight Time", adjustmentList.ToArray())
' Create alternate Central Standard Time to include historical time zone information
'
' Declare necessary TimeZoneInfo.AdjustmentRule objects for time zone
Dim delta As New TimeSpan(1, 0, 0)
Dim adjustment As TimeZoneInfo.AdjustmentRule
Dim adjustmentList As New List(Of TimeZoneInfo.AdjustmentRule)
' Declare transition time variables to hold transition time information
Dim transitionRuleStart, transitionRuleEnd As TimeZoneInfo.TransitionTime
' Define end rule (for 1976-2006)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#02:00:00AM#, 10, 5, DayOfWeek.Sunday)
' Define rule (1976-1986)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 04, 05, DayOfWeek.Sunday)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1976#, #12/31/1986#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define rule (1987-2006)
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 04, 01, DayOfWeek.Sunday)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/1987#, #12/31/2006#, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Define rule (2007- )
transitionRuleStart = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 03, 02, DayOfWeek.Sunday)
transitionRuleEnd = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(#2:00:00AM#, 11, 01, DayOfWeek.Sunday)
adjustment = TimeZoneInfo.AdjustmentRule.CreateAdjustmentRule(#01/01/2007#, Date.MaxValue.Date, delta, transitionRuleStart, transitionRuleEnd)
adjustmentList.Add(adjustment)
' Create custom U.S. Central Standard Time Zone
TimeZoneInfo.CreateCustomTimeZone("Central Standard Time", New TimeSpan(-6, 0, 0), _
"(GMT-06:00) Central Time (US Only)", "Central Standard Time", _
"Central Daylight Time", adjustmentList.ToArray())
설명
이 메서드를 사용하여 사용자 지정 표준 시간대에 대한 하나 이상의 조정 규칙을 만들 수 있습니다. 이 메서드에 TimeZoneInfo.AdjustmentRule 대한 호출로 반환된 개체의 배열을 메서드의 두 오버로드에 매개 변수로 adjustmentRules
전달할 수 있습니다 CreateCustomTimeZone . 이 예제에서는 이 절차를 보여 줍니다.
참고
이 메서드는 CreateAdjustmentRule 새 표준 시간대에 대한 조정 규칙을 정의하는 데만 사용할 수 있습니다. 기존 표준 시간대에 대한 조정 규칙을 수정하는 데 사용할 수 없습니다.
및 dateEnd
매개 변수는 dateStart
시간 구성 요소가 ArgumentException 없거나 throw된 날짜 값이어야 합니다. 다음 문과 같이 날짜 및 시간의 속성에서 값을 검색 DateTime 하여 시간 Date 구성 요소를 제거할 수 있습니다.
DateTime.MinValue.Date
DateTime.MaxValue.Date
DateTime.Now.Date
dateVariable.Date
Kind 및 dateEnd
매개 변수의 dateStart
속성도 이어야 DateTimeKind.Unspecified합니다.
매개 변수 값 daylightDelta
의 범위는 -14에서 14까지입니다. 메서드 호출 TimeZoneInfo.CreateCustomTimeZone 에 사용된 매개 변수와 baseUtcOffset
매개 변수의 daylightDelta
합계도 -14에서 14 InvalidTimeZoneException 까지의 범위여야 합니다.
참고
이 매개 변수는 daylightDelta
표준 시간대의 표준 시간과 일광 절약 시간 간의 차이를 정의합니다. UTC(협정 세계시)에서 표준 시간대의 표준 시간 오프셋을 정의하기 위한 것이 아닙니다. 클래스는 TimeZoneInfo UTC의 이 오프셋이 표준 시간대의 수명 동안 일정하다고 가정합니다. 조정 규칙을 애플리케이션에서 발생 시 키 지는 UTC 표준 시간대 오프셋 변경에 맞게 사용 해야 합니다는 CreateCustomTimeZone 시간대를 만들고 새 사용자 지정 하는 방법입니다.
적용 대상
CreateAdjustmentRule(DateTime, DateTime, TimeSpan, TimeZoneInfo+TransitionTime, TimeZoneInfo+TransitionTime, TimeSpan)
특정 표준 시간대에 대한 새 조정 규칙을 만듭니다.
public:
static TimeZoneInfo::AdjustmentRule ^ CreateAdjustmentRule(DateTime dateStart, DateTime dateEnd, TimeSpan daylightDelta, TimeZoneInfo::TransitionTime daylightTransitionStart, TimeZoneInfo::TransitionTime daylightTransitionEnd, TimeSpan baseUtcOffsetDelta);
public static TimeZoneInfo.AdjustmentRule CreateAdjustmentRule (DateTime dateStart, DateTime dateEnd, TimeSpan daylightDelta, TimeZoneInfo.TransitionTime daylightTransitionStart, TimeZoneInfo.TransitionTime daylightTransitionEnd, TimeSpan baseUtcOffsetDelta);
static member CreateAdjustmentRule : DateTime * DateTime * TimeSpan * TimeZoneInfo.TransitionTime * TimeZoneInfo.TransitionTime * TimeSpan -> TimeZoneInfo.AdjustmentRule
Public Shared Function CreateAdjustmentRule (dateStart As DateTime, dateEnd As DateTime, daylightDelta As TimeSpan, daylightTransitionStart As TimeZoneInfo.TransitionTime, daylightTransitionEnd As TimeZoneInfo.TransitionTime, baseUtcOffsetDelta As TimeSpan) As TimeZoneInfo.AdjustmentRule
매개 변수
- dateStart
- DateTime
조정 규칙의 적용 날짜입니다. 값이 DateTime.MinValue.Date
이면 표준 시간대에 적용되는 첫 번째 조정 규칙입니다.
- dateEnd
- DateTime
조정 규칙이 적용되는 마지막 날짜입니다. 값이 DateTime.MaxValue.Date
이면 조정 규칙에 종료 날짜가 없습니다.
- daylightDelta
- TimeSpan
조정으로 인한 시간 변경입니다. 이 값은 표준 시간대 BaseUtcOffset 및 BaseUtcOffsetDelta 속성에 추가되어 UTC(협정 세계시)에서 올바른 일광 오프셋을 가져옵니다. 이 값 범위는 -14에서 14까지일 수 있습니다.
- daylightTransitionStart
- TimeZoneInfo.TransitionTime
일광 절약 시간의 시작입니다.
- daylightTransitionEnd
- TimeZoneInfo.TransitionTime
일광 절약 시간의 끝입니다.
- baseUtcOffsetDelta
- TimeSpan
조정 규칙 기간 동안 표준 시간대에 대한 기본 UTC 오프셋과의 시간 차이입니다.
반환
새 조정 규칙입니다.