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); } } }
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); } } }
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