Método DateTime.AddYears() en C#

Este método se utiliza para devolver un nuevo DateTime que suma el número de años especificado al valor de esta instancia.

Sintaxis:

public DateTime AddYears (int value);

Aquí, el valor es el número de años. El parámetro de valor puede ser negativo o positivo.

Valor devuelto: este método devuelve un objeto cuyo valor es la suma de la fecha y la hora representadas por esta instancia y el número de años representados por value .

Excepción: este método dará ArgumentOutOfRangeException si el DateTime resultante es menor que MinValue o mayor que MaxValue.

Los siguientes programas ilustran el uso del método DateTime.AddYears(Int32) :

Ejemplo 1:

// C# program to demonstrate the
// DateTime.AddYears(Int32) Method
using System;
using System.Globalization;
  
class GFG {
      
// Main Method
public static void Main()
{
      
    try {
          
        // creating object of DateTime
        DateTime date1 = new DateTime(2010, 1, 1,
                                        4, 0, 15);
                                          
        // adding the 8 Months
        // using AddYears() method;
        DateTime date2 = date1.AddYears(8);
          
        // Display the date1
        Console.WriteLine("DateTime before operation: "
                              + "{0:y} {0:dd}", date1);                             
                                
        // Display the date2
        Console.WriteLine("\nDateTime after operation: "
                              + "{0:y} {0:dd}", date2);
                                
    }
      
    catch (ArgumentOutOfRangeException e) 
    {
        Console.Write("Exception Thrown: ");
        Console.Write("{0}", e.GetType(), e.Message);
    }
}
}
Producción:

DateTime before operation: 2010 January 01

DateTime after operation: 2018 January 01

Ejemplo 2: para ArgumentOutOfRangeException

// C# program to demonstrate the
// DateTime.AddYears(Int32) Method
using System;
using System.Globalization;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // creating object of DateTime 
            // and initialize with MinValue
            DateTime date1 = DateTime.MaxValue;
  
            // Display the date1
            Console.WriteLine("DateTime before operation: "
                                  + "{0:y} {0:dd}", date1);
                                       
  
            // adding the TimeSpan of 8 Years
            // using AddYears() method;
            DateTime date2 = date1.AddYears(5);
  
            // Display the date2
            Console.WriteLine("DateTime before operation: "
                                  + "{0:y} {0:dd}", date2);
                                       
        }
  
        catch (ArgumentOutOfRangeException e) 
        {
            Console.WriteLine("\nThe resulting DateTime is "+
                      "greater than the DateTime.MaxValue ");
  
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
Producción:

DateTime before operation: 9999 December 31

The resulting DateTime is greater than the DateTime.MaxValue 
Exception Thrown: System.ArgumentOutOfRangeException

Nota:

  • Este método no cambia el valor de este objeto DateTime . En su lugar, devuelve un nuevo objeto DateTime cuyo valor es el resultado de esta operación.
  • Este método calcula el año resultante teniendo en cuenta los años bisiestos. La parte del mes y la hora del día del objeto DateTime resultante sigue siendo la misma que esta instancia.
  • Si la instancia actual representa el día bisiesto en un año bisiesto, el valor de retorno depende de la fecha objetivo:
    • Si value + DateTime.Year también es un año bisiesto, el valor devuelto representa el día bisiesto de ese año. Por ejemplo, si se agregan cuatro años al 29 de febrero de 2016, la fecha devuelta es el 29 de febrero de 2020.
    • Si value + DateTime.Year no es un año bisiesto, el valor devuelto representa el día anterior al día bisiesto de ese año. Por ejemplo, si se agrega un año al 29 de febrero de 2016, la fecha devuelta es el 28 de febrero de 2017.

Referencia:

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *