Export (0) Print
Expand All

TimeSpan.Subtract Method

Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public TimeSpan Subtract(
	TimeSpan ts
)

Parameters

ts
Type: System.TimeSpan

The time interval to be subtracted.

Return Value

Type: System.TimeSpan
A new time interval whose value is the result of the value of this instance minus the value of ts.

ExceptionCondition
OverflowException

The return value is less than TimeSpan.MinValue or greater than TimeSpan.MaxValue.

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.

The following example uses the Subtract method to calculate the difference between a single TimeSpan value and each of the time intervals in an array. Note that, because TimeSpan format strings do not include negative signs in the result string, the example uses conditional logic to include a negative sign with negative time intervals.

using System;

public class Example
{
   public static void Main()
   {
      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} = {4}{2:%d\:hh\:mm\:ss\.ffff}",
                           baseTimeSpan, interval, baseTimeSpan.Subtract(interval),
                           interval < TimeSpan.Zero ? "-" : "",
                           baseTimeSpan < interval.Duration() ? "-" : "");
   }
}
// The example displays the following output: 
//       1:12:15:16 - 1:12:00:00.0000 = 0:00:15:16.0000 
//       1:12:15:16 - 0:01:30:00.0000 = 1:10:45:16.0000 
//       1:12:15:16 - 0:00:45:00.0000 = 1:11:30:16.0000 
//       1:12:15:16 - 0:00:00:00.5050 = 1:12:15:15.4950 
//       1:12:15:16 - 1:17:32:20.0000 = -0:05:17:04.0000 
//       1:12:15:16 - -0:07:30:00.0000 = 1:19:45:16.0000

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft