C# 在Codebehind中检查每年的4月1日

C# 在Codebehind中检查每年的4月1日,c#,asp.net,C#,Asp.net,我想在Csharp中检测每年的4月1日。我正在从事一个ASP.Net/C项目,该项目的注册期限设定为4月1日。因此,我的方法是检查页面加载上的当前系统日期,如果与4月1日的日期匹配,则会触发some事件 if (DateTime.Now.Month == 4 && DateTime.Now.Day == 1) DoYourActionForApril1st(); 如果你想检查日期是否在4月1日之前,你可以这样做。想必你说的是今年 if (DateTime.Now &l

我想在Csharp中检测每年的4月1日。我正在从事一个ASP.Net/C项目,该项目的注册期限设定为4月1日。因此,我的方法是检查页面加载上的当前系统日期,如果与4月1日的日期匹配,则会触发some事件

if (DateTime.Now.Month == 4 && DateTime.Now.Day == 1) 
    DoYourActionForApril1st();
如果你想检查日期是否在4月1日之前,你可以这样做。想必你说的是今年

if (DateTime.Now < new DateTime(2011, 4, 1))
{
    // not 1st april yet
}
else
{
    // it's 1st april or later
}

可能是这样的:

if (DateTime.Today.Month == 4 && DateTime.Today.Day == 1) {
    // it's April 1st!
}
但是,如果您有在4月1日之前而不是之后有效的内容,则最好检查当前日期是在4月1日之前还是之后:

var April1st = new DateTime(DateTime.Now.Year, 4, 1);
if (DateTime.Now >= April1st) {
    // Cannot register anymore this year
}
else {
    // OK, it's before April 1st.
}
var April1st = new DateTime(DateTime.Now.Year, 4, 1);
if (DateTime.Now >= April1st) {
    // Cannot register anymore this year
}
else {
    // OK, it's before April 1st.
}