Freigeben über


TimeSpan.Subtract(TimeSpan) Methode

Definition

Gibt ein neues TimeSpan-Objekt zurück, dessen Wert die Differenz zwischen dem angegebenen TimeSpan-Objekt und dieser Instanz ist.

public:
 TimeSpan Subtract(TimeSpan ts);
public TimeSpan Subtract (TimeSpan ts);
member this.Subtract : TimeSpan -> TimeSpan
Public Function Subtract (ts As TimeSpan) As TimeSpan

Parameter

ts
TimeSpan

Das Zeitintervall, das subtrahiert werden soll.

Gibt zurück

Ein neues Zeitintervall, dessen Wert das Ergebnis der Subtraktion des Werts von ts vom Wert dieser Instanz ist.

Ausnahmen

Der Rückgabewert ist kleiner als TimeSpan.MinValue oder größer als TimeSpan.MaxValue.

Beispiele

Im folgenden Beispiel wird die Subtract -Methode verwendet, um den Unterschied zwischen einem einzelnen TimeSpan Wert und den einzelnen Zeitintervallen in einem Array zu berechnen. Beachten Sie, dass das Beispiel bedingt logik verwendet, um ein negatives Zeichen mit negativen Zeitintervallen einzuschließen, da TimeSpan Formatzeichenfolgen keine negativen Zeichen in der Ergebniszeichenfolge enthalten.

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
open System

let baseTimeSpan = TimeSpan(1, 12, 15, 16)

// Create an array 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} = {if baseTimeSpan < interval.Duration() then "-" else ""}{baseTimeSpan.Subtract(interval).ToString"%d\:hh\:mm\:ss\.ffff"}"""

// 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

Hinweise

Der Rückgabewert muss zwischen TimeSpan.MinValue und TimeSpan.MaxValuesein. Andernfalls wird eine Ausnahme ausgelöst.

Der Rückgabewert ist neu TimeSpan. Der ursprüngliche TimeSpan Wert wird nicht geändert.

Gilt für:

Weitere Informationen