TimeSpan.Subtract(TimeSpan) Méthode

Définition

Retourne un nouvel objet TimeSpan dont la valeur est la différence entre l'objet TimeSpan spécifié et cette instance.

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

Paramètres

ts
TimeSpan

Intervalle de temps à soustraire.

Retours

Nouvel intervalle de temps dont la valeur est le résultat de la valeur de cette instance moins la valeur de ts.

Exceptions

La valeur de retour est inférieure à TimeSpan.MinValue ou supérieure à TimeSpan.MaxValue.

Exemples

L’exemple suivant utilise la Subtract méthode pour calculer la différence entre une valeur unique TimeSpan et chacun des intervalles de temps d’un tableau. Notez que, étant donné TimeSpan que les chaînes de format n’incluent pas de signes négatifs dans la chaîne de résultat, l’exemple utilise une logique conditionnelle pour inclure un signe négatif avec des intervalles de temps négatifs.

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

Remarques

La valeur de retour doit être comprise entre TimeSpan.MinValue et TimeSpan.MaxValue; sinon, une exception est levée.

La valeur de retour est une nouvelle TimeSpan; l’original TimeSpan n’est pas modifié.

S’applique à

Voir aussi