Compartir vía


TimeZoneInfo.AdjustmentRule.Equals Método

Definición

Sobrecargas

Equals(Object)

Indica si la instancia actual es igual a otra instancia.

Equals(TimeZoneInfo+AdjustmentRule)

Determina si el objeto TimeZoneInfo.AdjustmentRule actual es igual a un segundo objeto TimeZoneInfo.AdjustmentRule.

Equals(Object)

Source:
TimeZoneInfo.AdjustmentRule.cs
Source:
TimeZoneInfo.AdjustmentRule.cs
Source:
TimeZoneInfo.AdjustmentRule.cs

Indica si la instancia actual es igual a otra instancia.

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

Parámetros

obj
Object

Instancia que se va a comparar con esta instancia.

Devoluciones

true si la instancia actual es igual a la otra instancia; de lo contrario, false.

Se aplica a

Equals(TimeZoneInfo+AdjustmentRule)

Source:
TimeZoneInfo.AdjustmentRule.cs
Source:
TimeZoneInfo.AdjustmentRule.cs
Source:
TimeZoneInfo.AdjustmentRule.cs

Determina si el objeto TimeZoneInfo.AdjustmentRule actual es igual a un segundo objeto TimeZoneInfo.AdjustmentRule.

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

Parámetros

other
TimeZoneInfo.AdjustmentRule

Objeto que se va a comparar con el objeto actual.

Devoluciones

true si ambos objetos TimeZoneInfo.AdjustmentRule tienen los mismos valores; de lo contrario, false.

Implementaciones

Ejemplos

En el ejemplo siguiente se llama al TimeZoneInfo.AdjustmentRule.Equals(TimeZoneInfo+AdjustmentRule) método para comparar las reglas de ajuste de la hora estándar central con las de la hora estándar central de Canadá y la hora estándar de México.

   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

Este código muestra la salida siguiente en la consola:

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  

Comentarios

Para determinar si dos TimeZoneInfo.AdjustmentRule objetos son iguales, el Equals(TimeZoneInfo+AdjustmentRule) método compara los valores de miembro de cada objeto. Dos reglas de ajuste son iguales si tienen las mismas fechas vigentes, la misma diferencia y valores idénticos para los TimeZoneInfo.TransitionTime objetos devueltos por sus DaylightTransitionStart propiedades y DaylightTransitionEnd .

Se aplica a