TimeZoneInfo.HasSameRules(TimeZoneInfo) TimeZoneInfo.HasSameRules(TimeZoneInfo) TimeZoneInfo.HasSameRules(TimeZoneInfo) TimeZoneInfo.HasSameRules(TimeZoneInfo) Method

정의

현재 개체 및 다른 TimeZoneInfo 개체에 같은 조정 규칙이 있는지 여부를 나타냅니다.Indicates whether the current object and another TimeZoneInfo object have the same adjustment rules.

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

매개 변수

other
TimeZoneInfo TimeZoneInfo TimeZoneInfo TimeZoneInfo

현재 TimeZoneInfo 개체와 비교할 두 번째 개체입니다.A second object to compare with the current TimeZoneInfo object.

반환

두 표준 시간대에 동일한 조정 규칙과 동일한 기본 오프셋이 있는 경우 true이고 그렇지 않은 경우 false입니다.true if the two time zones have identical adjustment rules and an identical base offset; otherwise, false.

예외

other 매개 변수가 null인 경우The other parameter is null.

예제

일반적으로 Windows의 레지스트리에 정의 된 표준 시간대와 Linux 및 macOS의 ICU 라이브러리 는 Utc (협정 세계시) 및 동일한 조정 규칙과 동일한 오프셋을 갖습니다.Typically, a number of time zones defined in the registry on Windows and the ICU Library on Linux and macOS have the same offset from Coordinated Universal Time (UTC) and the same adjustment rules. 다음 예제에서는 콘솔에 이러한 표준 시간대의 목록을 표시합니다.The following example displays a list of these time zones to the 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);
      }
   }
}
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

설명

같은 TimeZoneInfo.Equals(TimeZoneInfo) 메서드를 HasSameRules 메서드 두 표준 시간대 기본 오프셋 지 여부를 나타냅니다 (정의 된 대로 BaseUtcOffset 속성) 및 조정 규칙.Like the TimeZoneInfo.Equals(TimeZoneInfo) method, the HasSameRules method indicates whether two time zones have the same base offset (as defined by the BaseUtcOffset property) and the same adjustment rules. 와 달리 합니다 TimeZoneInfo.Equals(TimeZoneInfo) 메서드를 HasSameRules 표준 시간대 식별자를 비교 하지 않습니다 (정의 된 대로 Id 속성).Unlike the TimeZoneInfo.Equals(TimeZoneInfo) method, HasSameRules does not compare time zone identifiers (as defined by the Id property).

적용 대상