TimeZoneInfo.HasSameRules(TimeZoneInfo) Methode

Definitie

Geeft aan of het huidige object en een ander TimeZoneInfo object dezelfde aanpassingsregels hebben.

public:
 bool HasSameRules(TimeZoneInfo ^ other);
public bool HasSameRules(TimeZoneInfo other);
member this.HasSameRules : TimeZoneInfo -> bool
Public Function HasSameRules (other As TimeZoneInfo) As Boolean

Parameters

other
TimeZoneInfo

Een tweede object dat moet worden vergeleken met het huidige TimeZoneInfo object.

Retouren

true indien de twee tijdzones identieke aanpassingsregels en een identieke basisverschil hebben; anders, false.

Uitzonderingen

De other parameter is null.

Voorbeelden

Normaal gesproken hebben een aantal tijdzones die zijn gedefinieerd in het register op Windows en de ICU-bibliotheek in Linux en macOS dezelfde offset van Coordinated Universal Time (UTC) en dezelfde aanpassingsregels. In het volgende voorbeeld ziet u een lijst met deze tijdzones voor de console.

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

Opmerkingen

Net als bij de TimeZoneInfo.Equals(TimeZoneInfo) methode geeft de HasSameRules methode aan of twee tijdzones dezelfde basisverschil hebben (zoals gedefinieerd door de BaseUtcOffset eigenschap) en dezelfde aanpassingsregels. In tegenstelling tot de TimeZoneInfo.Equals(TimeZoneInfo) methode vergelijkt HasSameRules u geen tijdzone-id's (zoals gedefinieerd door de Id eigenschap).

Van toepassing op