TimeSpan.Add(TimeSpan) 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.
public:
TimeSpan Add(TimeSpan ts);
public TimeSpan Add (TimeSpan ts);
member this.Add : TimeSpan -> TimeSpan
Public Function Add (ts As TimeSpan) As TimeSpan
Parameters
- ts
- TimeSpan
The time interval to add.
Returns
A new object that represents the value of this instance plus the value of ts
.
Exceptions
The resulting TimeSpan is less than TimeSpan.MinValue or greater than TimeSpan.MaxValue.
Examples
The following example calls the Add method to add each element in an array of time intervals to a base TimeSpan value.
TimeSpan baseTimeSpan = new TimeSpan(1, 12, 15, 16);
// Create an array of timespan intervals.
TimeSpan[] intervals = {
TimeSpan.FromDays(1.5),
TimeSpan.FromHours(1.5),
TimeSpan.FromMinutes(45),
TimeSpan.FromMilliseconds(505),
new TimeSpan(1, 17, 32, 20),
new TimeSpan(-8, 30, 0)
};
// Calculate a new time interval by adding each element to the base interval.
foreach (var interval in intervals)
Console.WriteLine(@"{0,-10:g} {3} {1,15:%d\:hh\:mm\:ss\.ffff} = {2:%d\:hh\:mm\:ss\.ffff}",
baseTimeSpan, interval, baseTimeSpan.Add(interval),
interval < TimeSpan.Zero ? "-" : "+");
// The example displays the following output:
// 1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
// 1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
// 1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
// 1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
// 1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
// 1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000
open System
let baseTimeSpan = TimeSpan(1, 12, 15, 16)
// Create a list of timespan intervals.
let intervals =
[ TimeSpan.FromDays 1.5
TimeSpan.FromHours 1.5
TimeSpan.FromMinutes 45
TimeSpan.FromMilliseconds 505
TimeSpan(1, 17, 32, 20)
TimeSpan(-8, 30, 0) ]
// Calculate a new time interval by adding each element to the base interval.
for interval in intervals do
printfn $"""{baseTimeSpan,-10:g} {if interval < TimeSpan.Zero then "-" else "+"} {interval.ToString "%d\:hh\:mm\:ss\.ffff",15} = {baseTimeSpan.Add(interval).ToString "%d\:hh\:mm\:ss\.ffff"}"""
// The example displays the following output:
// 1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
// 1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
// 1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
// 1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
// 1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
// 1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000
Module Example
Public Sub Main()
Dim baseTimeSpan As New TimeSpan(1, 12, 15, 16)
' Create an array of timespan intervals.
Dim intervals() As TimeSpan = { TimeSpan.FromDays(1.5),
TimeSpan.FromHours(1.5),
TimeSpan.FromMinutes(45),
TimeSpan.FromMilliseconds(505),
New TimeSpan(1, 17, 32, 20),
New TimeSpan(-8, 30, 0) }
' Calculate a new time interval by adding each element to the base interval.
For Each interval In intervals
Console.WriteLine("{0,-10:g} {3} {1,15:%d\:hh\:mm\:ss\.ffff} = {2:%d\:hh\:mm\:ss\.ffff}", baseTimeSpan, interval,
baseTimeSpan.Add(interval), If(interval < TimeSpan.Zero, "-", "+"))
Next
End Sub
End Module
' The example displays the following output:
' 1:12:15:16 + 1:12:00:00.0000 = 3:00:15:16.0000
' 1:12:15:16 + 0:01:30:00.0000 = 1:13:45:16.0000
' 1:12:15:16 + 0:00:45:00.0000 = 1:13:00:16.0000
' 1:12:15:16 + 0:00:00:00.5050 = 1:12:15:16.5050
' 1:12:15:16 + 1:17:32:20.0000 = 3:05:47:36.0000
' 1:12:15:16 - 0:07:30:00.0000 = 1:04:45:16.0000
Remarks
The return value must be between TimeSpan.MinValue and TimeSpan.MaxValue; otherwise, an exception is thrown.
The return value is a new TimeSpan; the original TimeSpan is not modified.