TimeZoneInfo.TransitionTime.Week 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
시간 변경이 발생하는 월의 주를 가져옵니다.
public:
property int Week { int get(); };
public int Week { get; }
member this.Week : int
Public ReadOnly Property Week As Integer
속성 값
시간 변경이 발생하는 월의 주입니다.
예제
다음 예제에서는 로컬 컴퓨터에 있는 표준 시간대를 열거 하 고 모든 부동 날짜 전환에 대 한 전환 시간 정보를 표시 합니다. 시간 정보에는 시간 변경이 발생하는 월의 주가 포함됩니다. 또한 이 예제에서는 정수가 아닌 속성의 서수 값을 나타내는 문자열을 Week 표시하는 열거형을 정의 WeekOfMonth 합니다.
private enum WeekOfMonth
{
First = 1,
Second = 2,
Third = 3,
Fourth = 4,
Last = 5
}
private void GetFloatingTransitionTimes()
{
ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
foreach (TimeZoneInfo zone in timeZones)
{
TimeZoneInfo.AdjustmentRule[] adjustmentRules = zone.GetAdjustmentRules();
DateTimeFormatInfo dateInfo = CultureInfo.CurrentCulture.DateTimeFormat;
foreach (TimeZoneInfo.AdjustmentRule adjustmentRule in adjustmentRules)
{
TimeZoneInfo.TransitionTime daylightStart = adjustmentRule.DaylightTransitionStart;
if (!daylightStart.IsFixedDateRule)
Console.WriteLine("{0}, {1:d}-{2:d}: Begins at {3:t} on the {4} {5} of {6}.",
zone.StandardName,
adjustmentRule.DateStart,
adjustmentRule.DateEnd,
daylightStart.TimeOfDay,
((WeekOfMonth)daylightStart.Week).ToString(),
daylightStart.DayOfWeek.ToString(),
dateInfo.GetMonthName(daylightStart.Month));
TimeZoneInfo.TransitionTime daylightEnd = adjustmentRule.DaylightTransitionEnd;
if (!daylightEnd.IsFixedDateRule)
Console.WriteLine("{0}, {1:d}-{2:d}: Ends at {3:t} on the {4} {5} of {6}.",
zone.StandardName,
adjustmentRule.DateStart,
adjustmentRule.DateEnd,
daylightEnd.TimeOfDay,
((WeekOfMonth)daylightEnd.Week).ToString(),
daylightEnd.DayOfWeek.ToString(),
dateInfo.GetMonthName(daylightEnd.Month));
}
}
}
type WeekOfMonth =
| First = 1
| Second = 2
| Third = 3
| Fourth = 4
| Last = 5
let getFloatingTransitionTimes () =
let timeZones = TimeZoneInfo.GetSystemTimeZones()
for zone in timeZones do
let adjustmentRules = zone.GetAdjustmentRules()
let dateInfo = CultureInfo.CurrentCulture.DateTimeFormat
for adjustmentRule in adjustmentRules do
let daylightStart = adjustmentRule.DaylightTransitionStart
if not daylightStart.IsFixedDateRule then
printfn $"{zone.StandardName}, {adjustmentRule.DateStart:d}-{adjustmentRule.DateEnd:d}: Begins at {daylightStart.TimeOfDay:t} on the {enum<WeekOfMonth> daylightStart.Week} {daylightStart.DayOfWeek} of {dateInfo.GetMonthName daylightStart.Month}."
let daylightEnd = adjustmentRule.DaylightTransitionEnd
if not daylightEnd.IsFixedDateRule then
printfn $"{zone.StandardName}, {adjustmentRule.DateStart:d}-{adjustmentRule.DateEnd:d}: Ends at {daylightEnd.TimeOfDay:t} on the {enum<WeekOfMonth> daylightEnd.Week} {daylightEnd.DayOfWeek} of {dateInfo.GetMonthName daylightEnd.Month}."
Private Enum WeekOfMonth As Integer
First = 1
Second = 2
Third = 3
Fourth = 4
Last = 5
End Enum
Private Sub GetFloatingTransitionTimes()
Dim timeZones As ReadOnlyCollection(Of TimeZoneInfo) = TimeZoneInfo.GetSystemTimeZones()
For Each zone As TimeZoneInfo In timeZones
Dim adjustmentRules() As TimeZoneInfo.AdjustmentRule = zone.GetAdjustmentRules()
For Each adjustmentRule As TimeZoneInfo.AdjustmentRule in adjustmentRules
Dim daylightStart As TimeZoneInfo.TransitionTime = adjustmentRule.DaylightTransitionStart
If Not daylightStart.IsFixedDateRule Then
Console.WriteLine("{0}, {1:d}-{2:d}: Begins at {3:t} on the {4} {5} of {6}.", _
zone.StandardName, _
adjustmentRule.DateStart, _
adjustmentRule.DateEnd, _
daylightStart.TimeOfDay, _
CType(daylightStart.Week, WeekOfMonth).ToString(), _
daylightStart.DayOfWeek.ToString(), _
MonthName(daylightStart.Month))
End If
Dim daylightEnd As TimeZoneInfo.TransitionTime = adjustmentRule.DaylightTransitionEnd
If Not daylightEnd.IsFixedDateRule Then
Console.WriteLine("{0}, {1:d}-{2:d}: Ends at {3:t} on the {4} {5} of {6}.", _
zone.StandardName, _
adjustmentRule.DateStart, _
adjustmentRule.DateEnd, _
daylightEnd.TimeOfDay, _
CType(daylightEnd.Week, WeekOfMonth).ToString(), _
daylightEnd.DayOfWeek.ToString(), _
MonthName(daylightEnd.Month))
End If
Next
Next
End Sub
설명
속성 값 Week 은 부동 날짜 규칙을 사용하는 시간 변경에만 사용됩니다. 유효한 값의 범위는 1에서 5까지입니다.
이 속성은 Month 시간 변경이 발생하는 월을 정의합니다. 이 속성은 Week 전환이 발생하는 주를 결정합니다. 이 속성은 DayOfWeek 전환이 발생하는 요일을 정의합니다. 속성 값 Week 은 다음 표와 같이 결정됩니다.
| Week 속성 값이 | 전환은 다음에서 발생합니다. |
|---|---|
| 1 | 에 있는 값의 DayOfWeek 첫 번째 항목입니다 Month. |
| 2 | 에 있는 값의 DayOfWeek 두 번째 항목입니다 Month. |
| 3 | 에 있는 값의 DayOfWeek 세 번째 항목입니다 Month. |
| 4 | 에 있는 값의 DayOfWeek 네 번째 항목입니다 Month. |
| 5 | 에 있는 값의 DayOfWeek 마지막 항목입니다 Month. |
예를 들어 3월 첫째 일요일에 전환이 발생하는 경우 속성 값 Week 은 1입니다. 3월 마지막 일요일에 발생하는 경우 속성 값 Week 은 5입니다.