TimeZoneInfo.TransitionTime.TimeOfDay Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Zeitpunkt (Stunde, Minute und Sekunde) ab, zu dem die Zeit geändert wird.
public:
property DateTime TimeOfDay { DateTime get(); };
public DateTime TimeOfDay { get; }
member this.TimeOfDay : DateTime
Public ReadOnly Property TimeOfDay As DateTime
Eigenschaftswert
Der Tageszeitpunkt, zu dem die Zeit geändert wird.
Beispiele
Im folgenden Beispiel werden die Zeitzonen aufgelistet, die auf dem lokalen Computer gefunden werden, und es werden Übergangszeitinformationen für die Zeitzonen mit Anpassungsregeln angezeigt. Die Zeitinformationen enthalten die Tageszeit, zu der die Zeitänderung eintritt.
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
Hinweise
Bei Übergängen von der Standardzeit zur Sommerzeit stellt der TimeOfDay Wert die Zeit des Übergangs in der Standardzeit der Zeitzone dar. Bei Übergängen von der Sommerzeit zur Normalzeit stellt sie die Zeit des Übergangs in die Sommerzeit der Zeitzone dar.
Die TimeOfDay -Eigenschaft definiert nur die Zeit einer Zeitänderung, nicht aber deren Datum. Das Datum wird durch die Month Eigenschaften und Day für Änderungen mit festen Regeln sowie durch die MonthEigenschaften , Weekund DayOfWeek für Schweberegeländerungen bestimmt. Die Datumskomponente dieses Werts DateTime wird ignoriert. Der Wert von Jahr, Monat und Tag ist immer 1.
Die TimeOfDay -Eigenschaft wird sowohl für Übergänge mit festen Datums- als auch für gleitende Datumsübergänge verwendet.