TimeZoneInfo.AdjustmentRule.Equals Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| Equals(Object) |
Anger om den aktuella instansen är lika med en annan instans. |
| Equals(TimeZoneInfo+AdjustmentRule) |
Avgör om det aktuella TimeZoneInfo.AdjustmentRule objektet är lika med ett andra TimeZoneInfo.AdjustmentRule objekt. |
Equals(Object)
Anger om den aktuella instansen är lika med en annan instans.
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
Parametrar
- obj
- Object
En instans att jämföra med den här instansen.
Returer
trueom den aktuella instansen är lika med den andra instansen; annars . false
Gäller för
Equals(TimeZoneInfo+AdjustmentRule)
Avgör om det aktuella TimeZoneInfo.AdjustmentRule objektet är lika med ett andra TimeZoneInfo.AdjustmentRule objekt.
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
Parametrar
Det objekt som ska jämföras med det aktuella objektet.
Returer
trueom båda TimeZoneInfo.AdjustmentRule objekten har samma värden, annars . false
Implementeringar
Exempel
I följande exempel anropas TimeZoneInfo.AdjustmentRule.Equals(TimeZoneInfo+AdjustmentRule) metoden för att jämföra justeringsreglerna för central standardtid med de för Canada Central Standard Time och Mexico Standard Time.
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
Den här koden visar följande utdata till konsolen:
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
Kommentarer
För att avgöra om två TimeZoneInfo.AdjustmentRule objekt är lika Equals(TimeZoneInfo+AdjustmentRule) jämför metoden medlemsvärdena för varje objekt. Två justeringsregler är lika med om de har samma gällande datum, samma delta och identiska värden för de objekt som TimeZoneInfo.TransitionTime returneras av deras DaylightTransitionStart och DaylightTransitionEnd egenskaper.