TimeZoneInfo.AdjustmentRule.Equals Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přetížení
Equals(Object) |
Určuje, zda je aktuální instance rovna jiné instanci. |
Equals(TimeZoneInfo+AdjustmentRule) |
Určuje, zda je aktuální TimeZoneInfo.AdjustmentRule objekt roven druhému TimeZoneInfo.AdjustmentRule objektu. |
Equals(Object)
Určuje, zda je aktuální instance rovna jiné instanci.
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
Parametry
- obj
- Object
Instance, která se má porovnat s touto instancí.
Návraty
true
pokud je aktuální instance rovna druhé instanci; v opačném případě . false
Platí pro
Equals(TimeZoneInfo+AdjustmentRule)
Určuje, zda je aktuální TimeZoneInfo.AdjustmentRule objekt roven druhému TimeZoneInfo.AdjustmentRule objektu.
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
Parametry
Objekt, který má být porovnán s aktuálním objektem
Návraty
true
pokud mají oba TimeZoneInfo.AdjustmentRule objekty stejné hodnoty, v opačném případě . false
Implementuje
Příklady
Následující příklad volá metodu TimeZoneInfo.AdjustmentRule.Equals(TimeZoneInfo+AdjustmentRule) pro porovnání pravidel úprav pro střední standardní čas s pravidly pro standardní čas Kanady – střed a standardní čas Mexika.
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
Tento kód zobrazí následující výstup do konzoly:
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
Poznámky
Chcete-li zjistit, zda jsou dva TimeZoneInfo.AdjustmentRule objekty rovny, Equals(TimeZoneInfo+AdjustmentRule) porovná metoda hodnoty členů každého objektu. Dvě pravidla úprav jsou si rovna, pokud mají stejná data platnosti, stejnou rozdílovou hodnotu a stejné hodnoty pro TimeZoneInfo.TransitionTime objekty vrácené jejich DaylightTransitionStart vlastnostmi a DaylightTransitionEnd .