TimeSpan.Subtract(TimeSpan) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
public:
TimeSpan Subtract(TimeSpan ts);
public TimeSpan Subtract (TimeSpan ts);
member this.Subtract : TimeSpan -> TimeSpan
Public Function Subtract (ts As TimeSpan) As TimeSpan
Parâmetros
- ts
- TimeSpan
O intervalo de tempo a ser subtraído.
Retornos
Um novo intervalo de tempo cujo valor é o resultado do valor dessa instância menos o valor de ts
.
Exceções
O valor retornado é menor que TimeSpan.MinValue ou maior que TimeSpan.MaxValue.
Exemplos
O exemplo a seguir usa o Subtract método para calcular a diferença entre um único TimeSpan valor e cada um dos intervalos de tempo em uma matriz. Observe que, como TimeSpan as cadeias de caracteres de formato não incluem sinais negativos na cadeia de caracteres de resultado, o exemplo usa lógica condicional para incluir um sinal negativo com intervalos de tempo negativos.
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
Comentários
O valor retornado deve ser entre TimeSpan.MinValue e TimeSpan.MaxValue; caso contrário, uma exceção é gerada.
O valor retornado é um novo TimeSpan; o original TimeSpan não é modificado.