Метод DateTime.Subtract
Перегрузка Subtract с
DateTime возвращает TimeSpan.
Перегрузка с TimeSpan возвращает
DateTime. Исходное значение
не меняется. Сложение интервала -
Add.
Синтаксис
TimeSpan diff = first.Subtract(second);
DateTime earlier = dateTime.Subtract(timeSpan);
Пример
Давайте найдём разность между
3 и 2 января:
using System;
class Program
{
static void Main()
{
var later = new DateTime(2020, 1, 3);
var earlier = new DateTime(2020, 1, 2);
TimeSpan diff = later.Subtract(earlier);
bool res = diff.TotalDays == 1;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте выведем TimeSpan.ToString
для суток:
using System;
class Program
{
static void Main()
{
var later = new DateTime(2020, 1, 3);
var earlier = new DateTime(2020, 1, 2);
TimeSpan diff = later.Subtract(earlier);
string res = diff.ToString();
Console.WriteLine(res);
}
}
Результат выполнения кода:
"1.00:00:00"
Пример
Давайте вычтем сутки через
TimeSpan:
using System;
class Program
{
static void Main()
{
var dt = new DateTime(2020, 1, 3, 3, 4, 5);
DateTime res = dt.Subtract(TimeSpan.FromDays(1));
Console.WriteLine(res.Day);
}
}
Результат выполнения кода:
2