Giới thiệu
Phương thức Subtract() của TimeSpan trừ một TimeSpan khác và trả về TimeSpan mới. Tương đương toán tử -.
Ví dụ cơ bản
TimeSpan t1 = TimeSpan.FromMinutes(2); TimeSpan t2 = TimeSpan.FromMinutes(1); TimeSpan res = t1.Subtract(t2); // 1 phút
Ví dụ hoàn chỉnh
using System;
public class Demo
{
public static void Main()
{
TimeSpan t1 = TimeSpan.FromMinutes(2);
TimeSpan t2 = TimeSpan.FromMinutes(1);
Console.WriteLine("First TimeSpan: " + t1);
Console.WriteLine("Second TimeSpan: " + t2);
TimeSpan res = t1.Subtract(t2);
Console.WriteLine("Resultant TimeSpan: " + res);
}
}
Kết quả
First TimeSpan: 00:02:00 Second TimeSpan: 00:01:00 Resultant TimeSpan: 00:01:00
Toán tử trừ (-)
TimeSpan res = t1 - t2; // Tương đương t1.Subtract(t2)
Lưu ý
- TimeSpan immutable -> trả về instance mới.
- Kết quả có thể âm (nếu t1 < t2).
- Kết quả vượt quá MinValue/MaxValue ->
OverflowException. Subtractcũng có nạp chồng nhậnDateTime:date.Subtract(timeSpan).
Ví dụ thực tế: Tính thời gian còn lại
TimeSpan totalTime = TimeSpan.FromHours(2);
TimeSpan elapsed = stopwatch.Elapsed;
TimeSpan remaining = totalTime - elapsed;
if (remaining > TimeSpan.Zero)
{
Console.WriteLine($"Còn lại: {remaining}");
}
else
{
Console.WriteLine("Hết giờ!");
}