TimeZoneInfo.HasSameRules(TimeZoneInfo) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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).