TimeZoneInfo.TransitionTime.TimeOfDay 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得發生時間變更的時、分和秒。
public:
property DateTime TimeOfDay { DateTime get(); };
public DateTime TimeOfDay { get; }
member this.TimeOfDay : DateTime
Public ReadOnly Property TimeOfDay As DateTime
屬性值
發生時間變更的當日時間。
範例
下列範例會列舉在本機電腦上找到的時區,並顯示具有調整規則之時區的轉換時間資訊。 時間資訊包括發生時間變更的當日時間。
private enum WeekOfMonth
{
First = 1,
Second = 2,
Third = 3,
Fourth = 4,
Last = 5,
}
public void GetAllTransitionTimes()
{
ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
DateTimeFormatInfo dateInfo = CultureInfo.CurrentCulture.DateTimeFormat;
foreach (TimeZoneInfo zone in timeZones)
{
Console.WriteLine("{0} transition time information:", zone.StandardName);
TimeZoneInfo.AdjustmentRule[] adjustmentRules= zone.GetAdjustmentRules();
// Indicate that time zone has no adjustment rules
if (adjustmentRules.Length == 0)
{
Console.WriteLine(" No adjustment rules defined.");
}
else
{
// Iterate adjustment rules
foreach (TimeZoneInfo.AdjustmentRule adjustmentRule in adjustmentRules)
{
Console.WriteLine(" Adjustment rule from {0:d} to {1:d}:",
adjustmentRule.DateStart,
adjustmentRule.DateEnd);
// Get start of transition
TimeZoneInfo.TransitionTime daylightStart = adjustmentRule.DaylightTransitionStart;
// Display information on fixed date rule
if (!daylightStart.IsFixedDateRule)
Console.WriteLine(" Begins at {0:t} on the {1} {2} of {3}.",
daylightStart.TimeOfDay,
((WeekOfMonth)daylightStart.Week).ToString(),
daylightStart.DayOfWeek.ToString(),
dateInfo.GetMonthName(daylightStart.Month));
// Display information on floating date rule
else
Console.WriteLine(" Begins at {0:t} on the {1} {2} of {3}.",
daylightStart.TimeOfDay,
((WeekOfMonth)daylightStart.Week).ToString(),
daylightStart.DayOfWeek.ToString(),
dateInfo.GetMonthName(daylightStart.Month));
// Get end of transition
TimeZoneInfo.TransitionTime daylightEnd = adjustmentRule.DaylightTransitionEnd;
// Display information on fixed date rule
if (!daylightEnd.IsFixedDateRule)
Console.WriteLine(" Ends at {0:t} on the {1} {2} of {3}.",
daylightEnd.TimeOfDay,
((WeekOfMonth)daylightEnd.Week).ToString(),
daylightEnd.DayOfWeek.ToString(),
dateInfo.GetMonthName(daylightEnd.Month));
// Display information on floating date rule
else
Console.WriteLine(" Ends at {0:t} on the {1} {2} of {3}.",
daylightStart.TimeOfDay,
((WeekOfMonth)daylightStart.Week).ToString(),
daylightStart.DayOfWeek.ToString(),
dateInfo.GetMonthName(daylightStart.Month));
}
}
}
}
type WeekOfMonth =
| First = 1
| Second = 2
| Third = 3
| Fourth = 4
| Last = 5
let getAllTransitionTimes () =
let timeZones = TimeZoneInfo.GetSystemTimeZones()
let dateInfo = CultureInfo.CurrentCulture.DateTimeFormat
for zone in timeZones do
printfn $"{zone.StandardName} transition time information:"
let adjustmentRules= zone.GetAdjustmentRules()
// Indicate that time zone has no adjustment rules
if adjustmentRules.Length = 0 then
printfn " No adjustment rules defined."
else
// Iterate adjustment rules
for adjustmentRule in adjustmentRules do
printfn $" Adjustment rule from {adjustmentRule.DateStart:d} to {adjustmentRule.DateEnd:d}:"
// Get start of transition
let daylightStart = adjustmentRule.DaylightTransitionStart
// Display information on fixed date rule
if not daylightStart.IsFixedDateRule then
printfn $" Begins at {daylightStart.TimeOfDay:t} on the {enum<WeekOfMonth> daylightStart.Week} {daylightStart.DayOfWeek} of {dateInfo.GetMonthName daylightStart.Month}."
// Display information on floating date rule
else
printfn $" Begins at {daylightStart.TimeOfDay:t} on the {enum<WeekOfMonth> daylightStart.Week} {daylightStart.DayOfWeek} of {dateInfo.GetMonthName daylightStart.Month}."
// Get end of transition
let daylightEnd = adjustmentRule.DaylightTransitionEnd
// Display information on fixed date rule
if not daylightEnd.IsFixedDateRule then
printfn $" Ends at {daylightEnd.TimeOfDay:t} on the {enum<WeekOfMonth> daylightEnd.Week} {daylightEnd.DayOfWeek} of {dateInfo.GetMonthName daylightEnd.Month}."
// Display information on floating date rule
else
printfn $" Ends at {daylightStart.TimeOfDay:t} on the {enum<WeekOfMonth> daylightStart.Week} {daylightStart.DayOfWeek} of {dateInfo.GetMonthName daylightStart.Month}."
Private Enum WeekOfMonth As Integer
First = 1
Second = 2
Third = 3
Fourth = 4
Last = 5
End Enum
Sub GetAllTransitionTimes()
Dim timeZones As ReadOnlyCollection(Of TimeZoneInfo) = TimeZoneInfo.GetSystemTimeZones()
For Each zone As TimeZoneInfo In timeZones
Console.WriteLine("{0} transition time information:", zone.StandardName)
Dim adjustmentRules() As TimeZoneInfo.AdjustmentRule = zone.GetAdjustmentRules()
' Indicate that time zone has no adjustment rules
If adjustmentRules.Length = 0 Then
Console.WriteLine(" No adjustment rules defined.")
Else
' Iterate adjustment rules
For Each adjustmentRule As TimeZoneInfo.AdjustmentRule in adjustmentRules
Console.WriteLine(" Adjustment rule from {0:d} to {1:d}:", _
adjustmentRule.DateStart, _
adjustmentRule.DateEnd)
' Get start of transition
Dim daylightStart As TimeZoneInfo.TransitionTime = adjustmentRule.DaylightTransitionStart
' Display information on fixed date rule
If Not daylightStart.IsFixedDateRule Then
Console.WriteLine(" Begins at {0:t} on the {1} {2} of {3}.", _
daylightStart.TimeOfDay, _
CType(daylightStart.Week, WeekOfMonth).ToString(), _
daylightStart.DayOfWeek.ToString(), _
MonthName(daylightStart.Month))
' Display information on floating date rule
Else
Console.WriteLine(" Begins at {0:t} on the {1} {2} of {3}.", _
daylightStart.TimeOfDay, _
CType(daylightStart.Week, WeekOfMonth).ToString(), _
daylightStart.DayOfWeek.ToString(), _
MonthName(daylightStart.Month))
End If
' Get end of transition
Dim daylightEnd As TimeZoneInfo.TransitionTime = adjustmentRule.DaylightTransitionEnd
' Display information on fixed date rule
If Not daylightEnd.IsFixedDateRule Then
Console.WriteLine(" Ends at {0:t} on the {1} {2} of {3}.", _
daylightEnd.TimeOfDay, _
CType(daylightEnd.Week, WeekOfMonth).ToString(), _
daylightEnd.DayOfWeek.ToString(), _
MonthName(daylightEnd.Month))
' Display information on floating date rule
Else
Console.WriteLine(" Ends at {0:t} on the {1} {2} of {3}.", _
daylightStart.TimeOfDay, _
CType(daylightStart.Week, WeekOfMonth).ToString(), _
daylightStart.DayOfWeek.ToString(), _
MonthName(daylightStart.Month))
End If
Next
End If
Next
End Sub
備註
針對從標準時間轉換為日光節約時間, TimeOfDay 值代表時區標準時間中的轉換時間。 對於從日光節約時間轉換為標準時間的轉換,它代表時區日光節約時間的轉換時間。
屬性 TimeOfDay 只會定義時間變更的時間,但不會定義其日期。 日期取決於固定規則變更的 Month 和 Day 屬性,以及浮點規則變更的 Month 、 Week 和 DayOfWeek 屬性。 忽略此值 DateTime 的日期元件;年、月和日的值一律為 1。
屬性 TimeOfDay 用於固定日期和浮點數轉換。