TimeZoneInfo.HasSameRules(TimeZoneInfo) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menunjukkan apakah objek saat ini dan objek lain TimeZoneInfo memiliki aturan penyesuaian yang sama.
public:
bool HasSameRules(TimeZoneInfo ^ other);
public bool HasSameRules (TimeZoneInfo other);
member this.HasSameRules : TimeZoneInfo -> bool
Public Function HasSameRules (other As TimeZoneInfo) As Boolean
Parameter
- other
- TimeZoneInfo
Objek kedua untuk dibandingkan dengan objek saat ini TimeZoneInfo .
Mengembalikan
true
jika dua zona waktu memiliki aturan penyesuaian yang identik dan offset dasar yang identik; jika tidak, false
.
Pengecualian
Parameternya other
adalah null
.
Contoh
Biasanya, sejumlah zona waktu yang ditentukan dalam registri di Windows dan Pustaka ICU di Linux dan macOS memiliki offset yang sama dari Waktu Universal Terkoordinasi (UTC) dan aturan penyesuaian yang sama. Contoh berikut menampilkan daftar zona waktu ini ke konsol.
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
Keterangan
Seperti metode , TimeZoneInfo.Equals(TimeZoneInfo) metode menunjukkan HasSameRules apakah dua zona waktu memiliki offset dasar yang sama (seperti yang ditentukan oleh BaseUtcOffset properti ) dan aturan penyesuaian yang sama. TimeZoneInfo.Equals(TimeZoneInfo) Tidak seperti metode , HasSameRules tidak membandingkan pengidentifikasi zona waktu (seperti yang Id didefinisikan oleh properti ).