当我试图让af Label告诉我有关代码中设置的特定日期的生日时,它不会出现。它仍然只是回应(没有生日)。 谁能看到我做错了什么?
DateTime bday = Convert.ToDateTime("05-03-2019");
int years = DateTime.Now.Year - bday.Year;
bday = bday.AddYears(years);
DateTime check = DateTime.Now.AddDays(0);
if ((bday > DateTime.Now) && (bday<check))
{
lblFødselsdag.Text = ("You have birthday");
}
else
{
lblFødselsdag.Text = ("No birthday");
}
DateTime.Now.AddDays(0)
只是为了让我稍后再让它在一周前给我提供信息。
谢谢
答案 0 :(得分:2)
bday > DateTime.Now
为假,因为DateTime.Now
包括一天中的时间,而bday则不包括。尝试一下:
DateTime bday = Convert.ToDateTime("03-05-2019");
int years = DateTime.Now.Year - bday.Year;
bday = bday.AddYears(years);
DateTime check = DateTime.Now.AddDays(0);
if ((bday >= DateTime.Now.Date) && (bday<check))
{
lblFødselsdag.Text = ("You have birthday");
}
else
{
lblFødselsdag.Text = ("No birthday");
}
或者只是按照@bassfader的建议比较年份和月份:
if (DateTime.Now.Day == bday.Day && DateTime.Now.Month == bday.Month) { ... }
答案 1 :(得分:0)
如果您添加0天,则“ if”如下所示:
if(bday>now && bday<now)
此“如果”始终为假。
第一个表达式取消第二个表达式的资格。