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 | 에 있는 Month값의 DayOfWeek 첫 번째 발생입니다. |
2 | 의 두 번째 값Month입니다DayOfWeek. |
3 | 에 있는 Month값의 DayOfWeek 세 번째 항목입니다. |
4 | 에 있는 Month값의 DayOfWeek 네 번째 항목입니다. |
5 | 에 있는 값Month의 DayOfWeek 마지막 항목입니다. |
예를 들어 3월 첫 번째 일요일에 전환이 발생하는 경우 속성 값 Week 은 1입니다. 3월 마지막 일요일에 발생하는 경우 속성 값 Week 은 5입니다.