DateTime.Add() Method in C# - GeeksforGeeks

18 Jan, 2019
This method is used to return a new DateTime that adds the value of the specified TimeSpan to the value of this instance.
Syntax:
public DateTime Add (TimeSpan value);
Here, value is a positive or negative time interval.
Return Value: This method returns an object whose value is the sum of the date and time represented by this instance and the time interval represented by value.
Exceptions: This method will give ArgumentOutOfRangeException if the resulting DateTime is less than MinValue or greater than MaxValue.
Below programs illustrate the use of DateTime.Add(TimeSpan) Method:
Example 1:
// C# program to demonstrate the// DateTime.Add(TimeSpan) Methodusing System;using System.Globalization;  class GFG {      // Main Method    public static void Main()    {        try {            // creating object of DateTime            DateTime date1 = new DateTime(2010, 1, 1,                                           8, 0, 15);              // creating object of TimeSpan            TimeSpan duration = new TimeSpan(36, 0, 0, 0);              // adding the TimeSpan of 36 days            // using Add() method;            DateTime date2 = date1.Add(duration);              // Display the date1            System.Console.WriteLine("DateTime before "+                      "operation: {0:y} {0:dd}", date1);              // Display the date2            System.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: 2010 February 06

Example 2: For ArgumentOutOfRangeException
// C# program to demonstrate the// DateTime.Add(TimeSpan) Methodusing System;using System.Globalization;  class GFG {      // Main Method    public static void Main()    {        try {              // creating object of DateTime             // and initialize with MinValue            DateTime date1 = DateTime.MinValue;              // Display the date1            Console.WriteLine("DateTime before "+               "operation: {0:y} {0:dd}", date1);              // creating object of TimeSpan            TimeSpan duration = new TimeSpan(-36, 0, 0, 0);              // adding the TimeSpan of 36 days            // using Add() method;            DateTime date2 = date1.Add(duration);              // Display the date2            Console.WriteLine("\nDateTime after"+              " operation: {0:y} {0:dd}", date2);        }          catch (ArgumentOutOfRangeException e)       {            Console.WriteLine("\nThe resulting DateTime"+                          " is less than the MinValue ");            Console.Write("Exception Thrown: ");            Console.Write("{0}", e.GetType(), e.Message);        }    }}
DateTime before operation: 0001 January 01

The resulting DateTime is less than the MinValue 
Exception Thrown: System.ArgumentOutOfRangeException

Note:
The Add method takes into account leap years and the number of days in a month when performing date arithmetic.
This method does not change the value of this DateTime. Instead, it returns a new DateTime whose value is the result of this operation.
Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.datetime.add?view=netframework-4.7.2
CSharp DateTime Struct
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C# | Method Overriding
C# Dictionary with examples
Destructors in C#
Difference between Ref and Out keywords in C#
C# | Delegates
C# | Constructors
Extension Method in C#
C# | String.IndexOf( ) Method | Set - 1
C# | Class and Object
Introduction to .NET Framework