Open In App

DateTime.Add() Method in C#

Last Updated : 18 Jan, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
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: csharp
// C# program to demonstrate the
// DateTime.Add(TimeSpan) 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,
                                           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);
        }
    }
}
Output:
DateTime before operation: 2010 January 01

DateTime after operation: 2010 February 06
Example 2: For ArgumentOutOfRangeException csharp
// C# program to demonstrate the
// DateTime.Add(TimeSpan) 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.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);
        }
    }
}
Output:
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:

Next Article

Similar Reads