DateTime.AddDays(Double) Method

Definition

Returns a new DateTime that adds the specified number of days to the value of this instance.

public:
 DateTime AddDays(double value);
public DateTime AddDays (double value);
member this.AddDays : double -> DateTime
Public Function AddDays (value As Double) As DateTime

Parameters

value
Double

A number of whole and fractional days. The value parameter can be negative or positive.

Returns

An object whose value is the sum of the date and time represented by this instance and the number of days represented by value.

Exceptions

The resulting DateTime is less than DateTime.MinValue or greater than DateTime.MaxValue.

Examples

The following example uses the AddDays method to determine the day of the week 36 days after the current date.

using namespace System;

int main()
{
   // Calculate what day of the week is 36 days from this instant.
   DateTime today = System::DateTime::Now;
   DateTime answer = today.AddDays( 36 );
   Console::WriteLine("Today: {0:dddd}", today);
   Console::WriteLine("36 days from today: {0:dddd}", answer);
}
// The example displays output like the following:
//       Today: Wednesday
//       36 days from today: Thursday
open System

let today = DateTime.Now
let answer = today.AddDays 36
printfn $"Today: {today:dddd}"
printfn $"36 days from today: {answer:dddd}"


// The example displays output like the following:
//       Today: Wednesday
//       36 days from today: Thursday
using System;

class Class1
{
    static void Main()
    {
        DateTime today = DateTime.Now;
        DateTime answer = today.AddDays(36);
        Console.WriteLine("Today: {0:dddd}", today);
        Console.WriteLine("36 days from today: {0:dddd}", answer);
    }
}
// The example displays output like the following:
//       Today: Wednesday
//       36 days from today: Thursday
Class Class1
   Public Shared Sub Main()
      Dim today As System.DateTime
      Dim answer As System.DateTime

      today = System.DateTime.Now
      answer = today.AddDays(36)

      Console.WriteLine("Today: {0:dddd}", today)
      Console.WriteLine("36 days from today: {0:dddd}", answer)
   End Sub
End Class
' The example displays output like the following:
'       Today: Wednesday
'       36 days from today: Thursday

Remarks

This method does not change the value of this DateTime. Instead, it returns a new DateTime whose value is the result of this operation.

The fractional part of value is the fractional part of a day. For example, 4.5 is equivalent to 4 days, 12 hours, 0 minutes, 0 seconds, 0 milliseconds, and 0 ticks.

In .NET 6 and earlier versions, the value parameter is rounded to the nearest millisecond. In .NET 7 and later versions, the full Double precision of the value parameter is used. However, due to the inherent imprecision of floating point math, the resulting precision will vary.

The AddDays method takes into account leap years and the number of days in a month when performing date arithmetic.

Applies to

See also