Есть заранее известная дата. Например, есть некий документ от 01.03.2018, действителен до 01.05.2018. И есть текущая дата. Как можно проверить осталось ли меньше месяца до 01.05.2018 или больше месяца? Никак не соображу как это можно проверить.
Добавьте к сегодняшней дате один месяц и сравните получившийся результат с нужной датой. Добавить месяц можно с помощью метода AddMonth
:
var date = new DateTime(2018, 5, 1);
if (DateTime.Today.AddMonths(1) > date)
Console.WriteLine("Меньше месяца");
else
Console.WriteLine("Больше месяца");
Это же условие можно переписать по другому, если вам это более понятно (если дата окончания минус 1 месяц уже прошла, то осталось меньше месяца):
if (DateTime.Today > date.AddMonths(-1)) ...
Ну и имейте ввиду, что обычно юристы устанавливают всевозможные сроки в сутках, т. к. месяцы в году имеют разную продолжительность, поэтому, возможно, правильнее будет использовать метод AddDays
, например:
if (DateTime.Today.AddDays(30) > date) ...
или, то же самое:
if ((date - DateTime.Today).TotalDays < 30) ...
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пробую освоить MVVM, дается очень тяжелоВ теории вроде понятно, а вот как на практике реализовать, не очень понимаю