Мне нужно сравнить две даты(DateTime) и узнать является их разница больше X дней. Я понимаю что тут дело в логике, но я не могу сам написать эту функцию.
Что мне нужно:
Пример кода:
DateTime DT1 = new DateTime(20, 9, 2020); // 20.09.2020
DateTime DT2 = DateTime.Now; // Сегодня 01.10.2020
if(Func(DT1, DT2, 30))
Console.WriteLine("30 дней еще не прошло");
else
Console.WriteLine("30 прошло");
// ...
static bool Func(DateTime DT1, DateTime2, int interval) // Две сравниваемые даты, кол-во дней
{
// Здесь я не смог описать логику
// return true если разница двух дней меньше interval
}
// Вывод: 30 дней еще не прошло
У структуры DateTime
есть перегруженный оператор -
, возвращающий TimeSpan
:
public static TimeSpan operator -(DateTime a, DateTime b);
Таким образом вы можете получить интервал м-ду 2-мя датами:
if ((DT2 - DT1).Days > 30) // вместо `if (Func(DT1, DT2, 30))`
{ ... }
else
{ ... }
Возможно, вам понадобится перевести TimeSpan
в дни. Для этого используется св-во TotalDays
типа double
, т.е. 2 дня 12 часов превратятся в 2,5 дня. Для обратного преобразования используется статический метод FromDays(double days)
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Когда я присваивал строке(string) элемент из массива символов компилятор пишет ошибку CS0029: Cannot implicitly convert type 'int' to 'string'
При реализации проекта/схемы БД небольшой/тривиальной бухгалтерской программы возникла следующая проблемаПредставим себе несколько таблиц...
Имеется ComboBox, из которого пользователь выбирает строки, которые после этого отображаются на ListBoxХочу эти выбранные элементы вывести через...