Вот метод, который я использовал для проверки, если месяц и год истечения срока действия кредитной карты в будущем.Я уверен, что есть более эффективные способы сделать это, но он работает:
public static bool IsValid(int month, int year)
{
var DateTimeNow = DateTime.Now;
var MonthNow = DateTimeNow.Month;
var YearNow = DateTimeNow.Year;
if (year >= YearNow)
{
if (year > YearNow)
{
return true;
}
if (year == YearNow)
{
if (month >= MonthNow)
{
return true;
}
}
}
return false;
}
По сути, он проверяет, является ли год текущим или будущим, если это так, мы проверяем, еслиэто в будущемесли так, то он возвращает истину.Если год совпадает с текущим годом, тогда мы проверяем, что месяц больше или равен текущему месяцу.Если это так, мы возвращаем истину.Если ни одно из условий не выполнено, мы возвращаем false.
Используйте это так:
int cardMonth = 5;
int cardYear = 2020;
bool cardDateIsValid = IsValid(cardMonth, cardYear);
Как я уже сказал, я уверен, что есть другие способы сделать это, ноэто работает для меня.