DateTime.AddSeconds(Double) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns a new DateTime that adds the specified number of seconds to the value of this instance.
public:
DateTime AddSeconds(double value);
public DateTime AddSeconds (double value);
member this.AddSeconds : double -> DateTime
Public Function AddSeconds (value As Double) As DateTime
Parameters
- value
- Double
A number of whole and fractional seconds. 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 seconds represented by value
.
Exceptions
The resulting DateTime is less than DateTime.MinValue or greater than DateTime.MaxValue.
Examples
The following example uses the AddSeconds method to add 30 seconds and the number of seconds in one day to a DateTime value. It then displays each new value and displays the difference between it and the original value. The difference is displayed both as a time span and as a number of ticks.
using System;
public class Example
{
public static void Main()
{
string dateFormat = "MM/dd/yyyy hh:mm:ss";
DateTime date1 = new DateTime(2014, 9, 8, 16, 0, 0);
Console.WriteLine("Original date: {0} ({1:N0} ticks)\n",
date1.ToString(dateFormat), date1.Ticks);
DateTime date2 = date1.AddSeconds(30);
Console.WriteLine("Second date: {0} ({1:N0} ticks)",
date2.ToString(dateFormat), date2.Ticks);
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)\n",
date2 - date1, date2.Ticks - date1.Ticks);
// Add 1 day's worth of seconds (60 secs. * 60 mins * 24 hrs.
DateTime date3 = date1.AddSeconds(60 * 60 * 24);
Console.WriteLine("Third date: {0} ({1:N0} ticks)",
date3.ToString(dateFormat), date3.Ticks);
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)",
date3 - date1, date3.Ticks - date1.Ticks);
}
}
// The example displays the following output:
// Original date: 09/08/2014 04:00:00 (635,457,888,000,000,000 ticks)
//
// Second date: 09/08/2014 04:00:30 (635,457,888,300,000,000 ticks)
// Difference between dates: 00:00:30 (300,000,000 ticks)
//
// Third date: 09/09/2014 04:00:00 (635,458,752,000,000,000 ticks)
// Difference between dates: 1.00:00:00 (864,000,000,000 ticks)
open System
let dateFormat = "MM/dd/yyyy hh:mm:ss"
let date1 = DateTime(2014, 9, 8, 16, 0, 0)
printfn $"Original date: {date1.ToString dateFormat} ({date1.Ticks:N0} ticks)\n"
let date2 = date1.AddSeconds 30
printfn $"Second date: {date2.ToString dateFormat} ({date2.Ticks:N0} ticks)"
printfn $"Difference between dates: {date2 - date1} ({date2.Ticks - date1.Ticks:N0} ticks)\n"
// Add 1 day's worth of seconds (60 secs. * 60 mins * 24 hrs.
let date3 = date1.AddSeconds(60. * 60. * 24.)
printfn $"Third date: {date3.ToString dateFormat} ({date3.Ticks:N0} ticks)"
printfn $"Difference between dates: {date3 - date1} ({date3.Ticks - date1.Ticks:N0} ticks)"
// The example displays the following output:
// Original date: 09/08/2014 04:00:00 (635,457,888,000,000,000 ticks)
//
// Second date: 09/08/2014 04:00:30 (635,457,888,300,000,000 ticks)
// Difference between dates: 00:00:30 (300,000,000 ticks)
//
// Third date: 09/09/2014 04:00:00 (635,458,752,000,000,000 ticks)
// Difference between dates: 1.00:00:00 (864,000,000,000 ticks)
Module Example
Public Sub Main()
Dim dateFormat As String = "MM/dd/yyyy hh:mm:ss"
Dim date1 As Date = #09/08/2014 16:00#
Console.WriteLine("Original date: {0} ({1:N0} ticks)", _
date1.ToString(dateFormat), date1.Ticks)
Console.WriteLine()
Dim date2 As Date = date1.AddSeconds(30)
Console.WriteLine("Second date: {0} ({1:N0} ticks)", _
date2.ToString(dateFormat), date2.Ticks)
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)", _
date2 - date1, date2.Ticks - date1.Ticks)
Console.WriteLine()
' Add 1 day's worth of seconds (60 secs. * 60 mins * 24 hrs.
Dim date3 As Date = date1.AddSeconds(60 * 60 * 24)
Console.WriteLine("Third date: {0} ({1:N0} ticks)", _
date3.ToString(dateFormat), date3.Ticks)
Console.WriteLine("Difference between dates: {0} ({1:N0} ticks)", _
date3 - date1, date3.Ticks - date1.Ticks)
End Sub
End Module
' The example displays the following output:
' Original date: 09/08/2014 04:00:00 (635,457,888,000,000,000 ticks)
'
' Second date: 09/08/2014 04:00:30 (635,457,888,300,000,000 ticks)
' Difference between dates: 00:00:30 (300,000,000 ticks)
'
' Third date: 09/09/2014 04:00:00 (635,458,752,000,000,000 ticks)
' Difference between dates: 1.00:00:00 (864,000,000,000 ticks)
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 second. For example, 4.5 is equivalent to 4 seconds, 500 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.