TimeSpan.Subtract Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- ts
- Type: System.TimeSpan
The time interval to be subtracted.
Return Value
Type: System.TimeSpanA new time interval whose value is the result of the value of this instance minus the value of ts.
| Exception | Condition |
|---|---|
| OverflowException | The return value is less than MinValue or greater than MaxValue. |
The following code example creates several pairs of TimeSpan objects and calculates their difference with the Subtract method.
// Example of the TimeSpan.Add( ) and TimeSpan.Subtract( ) methods. using System; class Example { const string dataFmt = "{0,-24}{1,24}"; // Pad the end of a TimeSpan string with spaces if it does not // contain milliseconds. static string Align(TimeSpan interval) { string intervalStr = interval.ToString(); int pointIndex = intervalStr.IndexOf(':'); pointIndex = intervalStr.IndexOf('.', pointIndex); if (pointIndex < 0) intervalStr += " "; return intervalStr; } // Display TimeSpan parameters and their sum and difference. static void ShowTimeSpanSumDiff(System.Windows.Controls.TextBlock outputBlock, TimeSpan Left, TimeSpan Right) { outputBlock.Text += "\n"; outputBlock.Text += String.Format(dataFmt, "TimeSpan Left", Align(Left)) + "\n"; outputBlock.Text += String.Format(dataFmt, "TimeSpan Right", Align(Right)) + "\n"; outputBlock.Text += String.Format(dataFmt, "Left.Add( Right )", Align(Left.Add(Right))) + "\n"; outputBlock.Text += String.Format(dataFmt, "Left.Subtract( Right )", Align(Left.Subtract(Right))) + "\n"; } public static void Demo(System.Windows.Controls.TextBlock outputBlock) { outputBlock.Text += "This example of the TimeSpan.Add( ) and " + "TimeSpan.Subtract( ) \nmethods generates the " + "following output by creating several \npairs of " + "TimeSpan objects and calculating and displaying \n" + "the sum and difference of each." + "\n"; // Create pairs of TimeSpan objects. ShowTimeSpanSumDiff(outputBlock, new TimeSpan(1, 20, 0), new TimeSpan(0, 45, 10)); ShowTimeSpanSumDiff(outputBlock, new TimeSpan(1, 10, 20, 30, 40), new TimeSpan(-1, 2, 3, 4, 5)); ShowTimeSpanSumDiff(outputBlock, new TimeSpan(182, 12, 30, 30, 505), new TimeSpan(182, 11, 29, 29, 495)); ShowTimeSpanSumDiff(outputBlock, new TimeSpan(888888888888888), new TimeSpan(999999999999999)); } } /* This example of the TimeSpan.Add( ) and TimeSpan.Subtract( ) methods generates the following output by creating several pairs of TimeSpan objects and calculating and displaying the sum and difference of each. TimeSpan Left 01:20:00 TimeSpan Right 00:45:10 Left.Add( Right ) 02:05:10 Left.Subtract( Right ) 00:34:50 TimeSpan Left 1.10:20:30.0400000 TimeSpan Right -21:56:55.9950000 Left.Add( Right ) 12:23:34.0450000 Left.Subtract( Right ) 2.08:17:26.0350000 TimeSpan Left 182.12:30:30.5050000 TimeSpan Right 182.11:29:29.4950000 Left.Add( Right ) 365.00:00:00 Left.Subtract( Right ) 01:01:01.0100000 TimeSpan Left 1028.19:21:28.8888888 TimeSpan Right 1157.09:46:39.9999999 Left.Add( Right ) 2186.05:08:08.8888887 Left.Subtract( Right ) -128.14:25:11.1111111 */
Show: