TimeZoneInfo.AdjustmentRule.Equals 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.
Überlädt
Equals(Object) |
Gibt an, ob die aktuelle Instanz gleich einer anderen Instanz ist. |
Equals(TimeZoneInfo+AdjustmentRule) |
Bestimmt, ob das aktuelle TimeZoneInfo.AdjustmentRule-Objekt und das zweite TimeZoneInfo.AdjustmentRule-Objekt identisch sind. |
Equals(Object)
Gibt an, ob die aktuelle Instanz gleich einer anderen Instanz ist.
public:
override bool Equals(System::Object ^ obj);
public override bool Equals (object? obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean
Parameter
- obj
- Object
Eine Instanz, die mit dieser Instanz verglichen werden soll.
Gibt zurück
true
wenn die aktuelle Instanz gleich der anderen Instanz ist; andernfalls false
.
Gilt für
Equals(TimeZoneInfo+AdjustmentRule)
Bestimmt, ob das aktuelle TimeZoneInfo.AdjustmentRule-Objekt und das zweite TimeZoneInfo.AdjustmentRule-Objekt identisch sind.
public:
virtual bool Equals(TimeZoneInfo::AdjustmentRule ^ other);
public bool Equals (TimeZoneInfo.AdjustmentRule? other);
public bool Equals (TimeZoneInfo.AdjustmentRule other);
override this.Equals : TimeZoneInfo.AdjustmentRule -> bool
Public Function Equals (other As TimeZoneInfo.AdjustmentRule) As Boolean
Parameter
Das Objekt, das mit dem aktuellen Objekt verglichen werden soll.
Gibt zurück
true
, wenn beide TimeZoneInfo.AdjustmentRule-Objekte gleiche Werte aufweisen, andernfalls false
.
Implementiert
Beispiele
Im folgenden Beispiel wird die Methode aufgerufen, um die TimeZoneInfo.AdjustmentRule.Equals(TimeZoneInfo+AdjustmentRule) Anpassungsregeln für zentrale Standardzeit mit denen für Kanada Central Standard Time und Mexiko Standard Time zu vergleichen.
string timeZoneName = "";
// Get CST, Canadian CST, and Mexican CST adjustment rules
TimeZoneInfo.AdjustmentRule[] usCstAdjustments = null;
TimeZoneInfo.AdjustmentRule[] canCstAdjustments = null;
TimeZoneInfo.AdjustmentRule[] mexCstAdjustments = null;
try
{
timeZoneName = "Central Standard Time";
usCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules();
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The {0} time zone is not defined in the registry.",
timeZoneName);
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Data for the {0} time zone is invalid.",
timeZoneName);
}
try
{
timeZoneName = "Canada Central Standard Time";
canCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules();
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The {0} time zone is not defined in the registry.",
timeZoneName);
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Data for the {0} time zone is invalid.",
timeZoneName);
}
try
{
timeZoneName = "Central Standard Time (Mexico)";
mexCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules();
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The {0} time zone is not defined in the registry.",
timeZoneName);
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Data for the {0} time zone is invalid.",
timeZoneName);
}
// Determine if CST and other time zones have the same rules
foreach(TimeZoneInfo.AdjustmentRule rule in usCstAdjustments)
{
Console.WriteLine("Comparing Central Standard Time rule for {0:d} to {1:d} with:",
rule.DateStart, rule.DateEnd);
// Compare with Canada Central Standard Time
if (canCstAdjustments.Length == 0)
{
Console.WriteLine(" Canada Central Standard Time has no adjustment rules.");
}
else
{
foreach (TimeZoneInfo.AdjustmentRule canRule in canCstAdjustments)
{
Console.WriteLine(" Canadian CST for {0:d} to {1:d}: {2}",
canRule.DateStart, canRule.DateEnd,
rule.Equals(canRule) ? "Equal" : "Not Equal");
}
}
// Compare with Mexico Central Standard Time
if (mexCstAdjustments.Length == 0)
{
Console.WriteLine(" Mexican Central Standard Time has no adjustment rules.");
}
else
{
foreach (TimeZoneInfo.AdjustmentRule mexRule in mexCstAdjustments)
{
Console.WriteLine(" Mexican CST for {0:d} to {1:d}: {2}",
mexRule.DateStart, mexRule.DateEnd,
rule.Equals(mexRule) ? "Equal" : "Not Equal");
}
}
}
// This code displays the following output to the console:
//
// Comparing Central Standard Time rule for 1/1/0001 to 12/31/9999 with:
// Canada Central Standard Time has no adjustment rules.
// Mexican CST for 1/1/0001 to 12/31/9999: Equal
// Get CST, Canadian CST, and Mexican CST adjustment rules
let usCstAdjustments =
let timeZoneName = "Central Standard Time"
try
TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules()
with
| :? TimeZoneNotFoundException ->
printfn $"The {timeZoneName} time zone is not defined in the registry."
null
| :? InvalidTimeZoneException ->
printfn $"Data for the {timeZoneName} time zone is invalid."
null
let canCstAdjustments =
let timeZoneName = "Canada Central Standard Time"
try
TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules()
with
| :? TimeZoneNotFoundException ->
printfn $"The {timeZoneName} time zone is not defined in the registry."
null
| :? InvalidTimeZoneException ->
printfn $"Data for the {timeZoneName} time zone is invalid."
null
let mexCstAdjustments =
let timeZoneName = "Central Standard Time (Mexico)"
try
TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules()
with
| :? TimeZoneNotFoundException ->
printfn $"The {timeZoneName} time zone is not defined in the registry."
null
| :? InvalidTimeZoneException ->
printfn $"Data for the {timeZoneName} time zone is invalid."
null
// Determine if CST and other time zones have the same rules
for rule in usCstAdjustments do
printfn $"Comparing Central Standard Time rule for {rule.DateStart:d} to {rule.DateEnd:d} with:"
// Compare with Canada Central Standard Time
if canCstAdjustments.Length = 0 then
printfn " Canada Central Standard Time has no adjustment rules."
else
for canRule in canCstAdjustments do
printfn $""" Canadian CST for {canRule.DateStart:d} to {canRule.DateEnd:d}: {if rule.Equals canRule then "Equal" else "Not Equal"}"""
// Compare with Mexico Central Standard Time
if mexCstAdjustments.Length = 0 then
printfn " Mexican Central Standard Time has no adjustment rules."
else
for mexRule in mexCstAdjustments do
printfn $""" Mexican CST for {mexRule.DateStart:d} to {mexRule.DateEnd:d}: {if rule.Equals mexRule then "Equal" else "Not Equal"}"""
// This code displays the following output to the console:
//
// Comparing Central Standard Time rule for 1/1/0001 to 12/31/9999 with:
// Canada Central Standard Time has no adjustment rules.
// Mexican CST for 1/1/0001 to 12/31/9999: Equal
Dim timeZoneName As String = String.Empty
' Get CST, Canadian CST, and Mexican CST adjustment rules
Dim usCstAdjustments(), canCstAdjustments(), mexCstAdjustments() As TimeZoneInfo.AdjustmentRule
Try
timeZoneName = "Central Standard Time"
usCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules
Catch e As TimeZoneNotFoundException
Console.WriteLine("The {0} time zone is not defined in the registry.", timeZoneName)
Catch e As InvalidTimeZoneException
Console.WriteLine("Data for the {0} time zone is invalid.", timeZoneName)
End Try
Try
timeZoneName = "Canada Central Standard Time"
canCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules
Catch e As TimeZoneNotFoundException
Console.WriteLine("The {0} time zone is not defined in the registry.", timeZoneName)
Catch e As InvalidTimeZoneException
Console.WriteLine("Data for the {0} time zone is invalid.", timeZoneName)
End Try
Try
timeZoneName = "Central Standard Time (Mexico)"
mexCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules
Catch e As TimeZoneNotFoundException
Console.WriteLine("The {0} time zone is not defined in the registry.", timeZoneName)
Catch e As InvalidTimeZoneException
Console.WriteLine("Data for the {0} time zone is invalid.", timeZoneName)
End Try
' Determine if CST and other time zones have the same rules
For Each rule As TimeZoneInfo.AdjustmentRule In usCstAdjustments
Console.WriteLine("Comparing Central Standard Time rule for {0:d} to {1:d} with:", _
rule.DateStart, rule.DateEnd)
' Compare with Canada Central Standard Time
If canCstAdjustments.Length = 0 Then
Console.WriteLine(" Canada Central Standard Time has no adjustment rules.")
Else
For Each canRule As TimeZoneInfo.AdjustmentRule In canCstAdjustments
Console.WriteLine(" Canadian CST for {0:d} to {1:d}: {2}", _
canRule.DateStart, canRule.DateEnd, _
IIf(rule.Equals(canRule), "Equal", "Not Equal"))
Next
End If
' Compare with Mexico Central Standard Time
If mexCstAdjustments.Length = 0 Then
Console.WriteLine(" Mexican Central Standard Time has no adjustment rules.")
Else
For Each mexRule As TimeZoneInfo.AdjustmentRule In mexCstAdjustments
Console.WriteLine(" Mexican CST for {0:d} to {1:d}: {2}", _
mexRule.DateStart, mexRule.DateEnd, _
IIf(rule.Equals(mexRule), "Equal", "Not Equal"))
Next
End If
Next
' This code displays the following output to the console:
'
' Comparing Central Standard Time rule for 1/1/0001 to 12/31/9999 with:
' Canada Central Standard Time has no adjustment rules.
' Mexican CST for 1/1/0001 to 12/31/9999: Equal
Dieser Code zeigt die folgende Ausgabe für die Konsole an:
Comparing Central Standard Time rule for 1/1/0001 to 12/31/9999 with:
Canada Central Standard Time has no adjustment rules.
Mexican CST for 1/1/0001 to 12/31/9999: Equal
Hinweise
Um zu ermitteln, ob zwei TimeZoneInfo.AdjustmentRule Objekte gleich sind, vergleicht die Equals(TimeZoneInfo+AdjustmentRule) Methode die Memberwerte jedes Objekts. Zwei Anpassungsregeln sind gleich, wenn sie dieselben effektiven Datumsangaben, dasselbe Delta und identische Werte für die TimeZoneInfo.TransitionTime von ihren und DaylightTransitionEnd ihren DaylightTransitionStart Eigenschaften zurückgegebenen Objekte haben.