我有一个用户控件(ascx),在.ascx端有两个下拉菜单 - 一个月份,一个月份。这些是信用卡的到期日。我想做一些比较来比较到期日期和当前日期(以确保卡无效)。我知道如何比较事情,我只是想知道如何在没有斜线的情况下获得当前月份和年份: - )
答案 0 :(得分:2)
int mon =DateTime.Now.Month();
int yr=DateTime.Now.Year();
string date = mon + "-" + yr;
并把你想要的东西放在中间。
答案 1 :(得分:0)
这是我用来检查信用卡的到期月份和年份是否在将来的一种方法。我敢肯定有更有效的方法可以做到这一点,但是它可以起作用:
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;
}
基本上,它会检查年份是当前年份还是将来年份,如果是,那么我们会检查年份是否是将来年份。如果是这样,则返回true。如果年份与当前年份相同,则我们检查该月份是否大于或等于当前月份。如果是,则返回true。如果不满足任何条件,则返回false。
像这样使用它:
int cardMonth = 5;
int cardYear = 2020;
bool cardDateIsValid = IsValid(cardMonth, cardYear);
正如我所说,我敢肯定还有其他方法可以做到这一点,但这对我有用。
答案 2 :(得分:0)
还没过期?
public static bool IsValid(int month, int year)
{
if (year > DateTime.Today.Year) // later than current year
return true;
if (year < DateTime.Today.Year) // earlier than current year
return false;
return month >= DateTime.Today.Month; // current year
}
过期了吗? (逆)
public static bool IsExpired(int month, int year)
{
if (year > DateTime.Today.Year) // later than current year
return false;
if (year < DateTime.Today.Year) // earlier than current year
return true;
return month < DateTime.Today.Month; // current year
}