DateTime.AddMinutes(Double) Method

Definition

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

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

Parameters

value
Double

A number of whole and fractional minutes. 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 minutes represented by value.

Exceptions

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

Examples

The following example uses the AddMinutes method to add a number of whole and fractional values to a date and time.

using namespace System;

void main()
{
   DateTime dateValue(2013, 9, 15, 12, 0, 0);
   
   array<Double>^ minutes = { .01667, .08333, .16667, .25, .33333, 
                              .5, .66667, 1, 2, 15, 30, 17, 45, 
                              60, 180, 60 * 24 };
   
   for each (Double minute in minutes)
      Console::WriteLine("{0} + {1} minute(s) = {2}", dateValue, minute, 
                         dateValue.AddMinutes(minute));
}
// The example displays the following output on a system whose current culture is en-US:
//    9/15/2013 12:00:00 PM + 0.01667 minute(s) = 9/15/2013 12:00:01 PM
//    9/15/2013 12:00:00 PM + 0.08333 minute(s) = 9/15/2013 12:00:05 PM
//    9/15/2013 12:00:00 PM + 0.16667 minute(s) = 9/15/2013 12:00:10 PM
//    9/15/2013 12:00:00 PM + 0.25 minute(s) = 9/15/2013 12:00:15 PM
//    9/15/2013 12:00:00 PM + 0.33333 minute(s) = 9/15/2013 12:00:20 PM
//    9/15/2013 12:00:00 PM + 0.5 minute(s) = 9/15/2013 12:00:30 PM
//    9/15/2013 12:00:00 PM + 0.66667 minute(s) = 9/15/2013 12:00:40 PM
//    9/15/2013 12:00:00 PM + 1 minute(s) = 9/15/2013 12:01:00 PM
//    9/15/2013 12:00:00 PM + 2 minute(s) = 9/15/2013 12:02:00 PM
//    9/15/2013 12:00:00 PM + 15 minute(s) = 9/15/2013 12:15:00 PM
//    9/15/2013 12:00:00 PM + 30 minute(s) = 9/15/2013 12:30:00 PM
//    9/15/2013 12:00:00 PM + 17 minute(s) = 9/15/2013 12:17:00 PM
//    9/15/2013 12:00:00 PM + 45 minute(s) = 9/15/2013 12:45:00 PM
//    9/15/2013 12:00:00 PM + 60 minute(s) = 9/15/2013 1:00:00 PM
//    9/15/2013 12:00:00 PM + 180 minute(s) = 9/15/2013 3:00:00 PM
//    9/15/2013 12:00:00 PM + 1440 minute(s) = 9/16/2013 12:00:00 PM
using System;

public class Example
{
   public static void Main()
   {
      DateTime dateValue = new DateTime(2013, 9, 15, 12, 0, 0);

      double[] minutes = { .01667, .08333, .16667, .25, .33333,
                           .5, .66667, 1, 2, 15, 30, 17, 45,
                           60, 180, 60 * 24 };

      foreach (double minute in minutes)
         Console.WriteLine("{0} + {1} minute(s) = {2}", dateValue, minute,
                           dateValue.AddMinutes(minute));
   }
}
// The example displays the following output on a system whose current culture is en-US:
//    9/15/2013 12:00:00 PM + 0.01667 minute(s) = 9/15/2013 12:00:01 PM
//    9/15/2013 12:00:00 PM + 0.08333 minute(s) = 9/15/2013 12:00:05 PM
//    9/15/2013 12:00:00 PM + 0.16667 minute(s) = 9/15/2013 12:00:10 PM
//    9/15/2013 12:00:00 PM + 0.25 minute(s) = 9/15/2013 12:00:15 PM
//    9/15/2013 12:00:00 PM + 0.33333 minute(s) = 9/15/2013 12:00:20 PM
//    9/15/2013 12:00:00 PM + 0.5 minute(s) = 9/15/2013 12:00:30 PM
//    9/15/2013 12:00:00 PM + 0.66667 minute(s) = 9/15/2013 12:00:40 PM
//    9/15/2013 12:00:00 PM + 1 minute(s) = 9/15/2013 12:01:00 PM
//    9/15/2013 12:00:00 PM + 2 minute(s) = 9/15/2013 12:02:00 PM
//    9/15/2013 12:00:00 PM + 15 minute(s) = 9/15/2013 12:15:00 PM
//    9/15/2013 12:00:00 PM + 30 minute(s) = 9/15/2013 12:30:00 PM
//    9/15/2013 12:00:00 PM + 17 minute(s) = 9/15/2013 12:17:00 PM
//    9/15/2013 12:00:00 PM + 45 minute(s) = 9/15/2013 12:45:00 PM
//    9/15/2013 12:00:00 PM + 60 minute(s) = 9/15/2013 1:00:00 PM
//    9/15/2013 12:00:00 PM + 180 minute(s) = 9/15/2013 3:00:00 PM
//    9/15/2013 12:00:00 PM + 1440 minute(s) = 9/16/2013 12:00:00 PM
open System

let dateValue = DateTime(2013, 9, 15, 12, 0, 0)

let minutes =
    [ 0.01667; 0.08333; 0.16667; 0.25; 0.33333
      0.5; 0.66667; 1; 2; 15; 30; 17; 45
      60; 180; 60. * 24. ]

for minute in minutes do
    printfn $"{dateValue} + {minute} minute(s) = {dateValue.AddMinutes minute}"
                    

// The example displays the following output on a system whose current culture is en-US:
//    9/15/2013 12:00:00 PM + 0.01667 minute(s) = 9/15/2013 12:00:01 PM
//    9/15/2013 12:00:00 PM + 0.08333 minute(s) = 9/15/2013 12:00:05 PM
//    9/15/2013 12:00:00 PM + 0.16667 minute(s) = 9/15/2013 12:00:10 PM
//    9/15/2013 12:00:00 PM + 0.25 minute(s) = 9/15/2013 12:00:15 PM
//    9/15/2013 12:00:00 PM + 0.33333 minute(s) = 9/15/2013 12:00:20 PM
//    9/15/2013 12:00:00 PM + 0.5 minute(s) = 9/15/2013 12:00:30 PM
//    9/15/2013 12:00:00 PM + 0.66667 minute(s) = 9/15/2013 12:00:40 PM
//    9/15/2013 12:00:00 PM + 1 minute(s) = 9/15/2013 12:01:00 PM
//    9/15/2013 12:00:00 PM + 2 minute(s) = 9/15/2013 12:02:00 PM
//    9/15/2013 12:00:00 PM + 15 minute(s) = 9/15/2013 12:15:00 PM
//    9/15/2013 12:00:00 PM + 30 minute(s) = 9/15/2013 12:30:00 PM
//    9/15/2013 12:00:00 PM + 17 minute(s) = 9/15/2013 12:17:00 PM
//    9/15/2013 12:00:00 PM + 45 minute(s) = 9/15/2013 12:45:00 PM
//    9/15/2013 12:00:00 PM + 60 minute(s) = 9/15/2013 1:00:00 PM
//    9/15/2013 12:00:00 PM + 180 minute(s) = 9/15/2013 3:00:00 PM
//    9/15/2013 12:00:00 PM + 1440 minute(s) = 9/16/2013 12:00:00 PM
Module Example
   Public Sub Main()
      Dim minutes() As Double = {.01667, .08333, .16667, .25, .33333, 
                                 .5, .66667, 1, 2, 15, 30, 17, 45, 
                                 60, 180, 60 * 24 }
      Dim dateValue As Date = #9/15/2013 12:00#
      
      For Each minute As Double In minutes
         Console.WriteLine("{0} + {1} minute(s) = {2}", dateValue, 
                           minute, dateValue.AddMinutes(minute))
      Next                             
   End Sub
End Module
' The example displays the following output on a system whose current culture is en-US:
'    9/15/2013 12:00:00 PM + 0.01667 minute(s) = 9/15/2013 12:00:01 PM
'    9/15/2013 12:00:00 PM + 0.08333 minute(s) = 9/15/2013 12:00:05 PM
'    9/15/2013 12:00:00 PM + 0.16667 minute(s) = 9/15/2013 12:00:10 PM
'    9/15/2013 12:00:00 PM + 0.25 minute(s) = 9/15/2013 12:00:15 PM
'    9/15/2013 12:00:00 PM + 0.33333 minute(s) = 9/15/2013 12:00:20 PM
'    9/15/2013 12:00:00 PM + 0.5 minute(s) = 9/15/2013 12:00:30 PM
'    9/15/2013 12:00:00 PM + 0.66667 minute(s) = 9/15/2013 12:00:40 PM
'    9/15/2013 12:00:00 PM + 1 minute(s) = 9/15/2013 12:01:00 PM
'    9/15/2013 12:00:00 PM + 2 minute(s) = 9/15/2013 12:02:00 PM
'    9/15/2013 12:00:00 PM + 15 minute(s) = 9/15/2013 12:15:00 PM
'    9/15/2013 12:00:00 PM + 30 minute(s) = 9/15/2013 12:30:00 PM
'    9/15/2013 12:00:00 PM + 17 minute(s) = 9/15/2013 12:17:00 PM
'    9/15/2013 12:00:00 PM + 45 minute(s) = 9/15/2013 12:45:00 PM
'    9/15/2013 12:00:00 PM + 60 minute(s) = 9/15/2013 1:00:00 PM
'    9/15/2013 12:00:00 PM + 180 minute(s) = 9/15/2013 3:00:00 PM
'    9/15/2013 12:00:00 PM + 1440 minute(s) = 9/16/2013 12:00:00 PM

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 minute. For example, 4.5 is equivalent to 4 minutes, 30 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.

Applies to

See also