TimeZoneInfo.HasSameRules(TimeZoneInfo) Methode
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.
Gibt an, ob das aktuelle Objekt und ein weiteres TimeZoneInfo-Objekt die gleichen Anpassungsregeln aufweisen.
public:
bool HasSameRules(TimeZoneInfo ^ other);
public bool HasSameRules (TimeZoneInfo other);
member this.HasSameRules : TimeZoneInfo -> bool
Public Function HasSameRules (other As TimeZoneInfo) As Boolean
Parameter
- other
- TimeZoneInfo
Ein zweites Objekt, das mit dem aktuellen TimeZoneInfo-Objekt verglichen werden soll.
Gibt zurück
true
, wenn die zwei Zeitzonen identische Anpassungsregeln und einen identischen Basisoffset aufweisen, andernfalls false
.
Ausnahmen
Der other
-Parameter ist null
.
Beispiele
In der Regel weisen mehrere Zeitzonen, die in der Registrierung unter Windows und der ICU-Bibliothek unter Linux und macOS definiert sind, den gleichen Offset von koordinierter Weltzeit (UTC) und dieselben Anpassungsregeln auf. Im folgenden Beispiel wird eine Liste dieser Zeitzonen für die Konsole angezeigt.
ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones();
TimeZoneInfo[] timeZoneArray = new TimeZoneInfo[timeZones.Count];
timeZones.CopyTo(timeZoneArray, 0);
// Iterate array from top to bottom
for (int ctr = timeZoneArray.GetUpperBound(0); ctr >= 1; ctr--)
{
// Get next item from top
TimeZoneInfo thisTimeZone = timeZoneArray[ctr];
for (int compareCtr = 0; compareCtr <= ctr - 1; compareCtr++)
{
// Determine if time zones have the same rules
if (thisTimeZone.HasSameRules(timeZoneArray[compareCtr]))
{
Console.WriteLine("{0} has the same rules as {1}",
thisTimeZone.StandardName,
timeZoneArray[compareCtr].StandardName);
}
}
}
let timeZones = TimeZoneInfo.GetSystemTimeZones()
let timeZoneArray = Array.ofSeq timeZones
// Iterate array from top to bottom
for ctr = timeZoneArray.GetUpperBound 0 - 1 downto 0 do
// Get next item from top
let thisTimeZone = timeZoneArray[ctr]
for compareCtr = 0 to ctr - 1 do
// Determine if time zones have the same rules
if thisTimeZone.HasSameRules timeZoneArray[compareCtr] then
printfn $"{thisTimeZone.StandardName} has the same rules as {timeZoneArray[compareCtr].StandardName}"
Dim timeZones As ReadOnlyCollection(Of TimeZoneInfo) = TimeZoneInfo.GetSystemTimeZones()
Dim timeZoneArray(timeZones.Count - 1) As TimeZoneInfo
timeZones.CopyTo(timeZoneArray, 0)
'Dim arrayPtr As Integer = 1
' Iterate array from top to bottom
For ctr As Integer = timeZoneArray.GetUpperBound(0) To 1 Step -1
' Get next item from top
Dim thisTimeZone As TimeZoneInfo = timeZoneArray(ctr)
For compareCtr As Integer = 0 To ctr - 1
' Determine if time zones have the same rules
If thisTimeZone.HasSameRules(timeZoneArray(compareCtr)) Then
Console.WriteLine("{0} has the same rules as {1}", _
thisTimeZone.StandardName, _
timeZoneArray(compareCtr).StandardName)
End If
Next
Next
Hinweise
Wie die TimeZoneInfo.Equals(TimeZoneInfo) -Methode gibt die HasSameRules Methode an, ob zwei Zeitzonen den gleichen Basisoffset (wie durch die BaseUtcOffset -Eigenschaft definiert) und die gleichen Anpassungsregeln haben. Im Gegensatz zur TimeZoneInfo.Equals(TimeZoneInfo) -Methode HasSameRules werden Zeitzonenbezeichner (wie durch die Id -Eigenschaft definiert) nicht verglichen.