День рождения не появляется на frm_Load - PullRequest
1 голос
/ 05 марта 2019

Когда я пытаюсь позволить 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) * * * * * * * * * * * * * * * * * * *1004* просто создан, если я захочу позже, чтобы он дал мне информацию за неделю до этого.

Спасибо

Ответы [ 2 ]

2 голосов
/ 05 марта 2019
  1. bday > DateTime.Now неверно, поскольку DateTime.Now включает время дня, тогда как bday - нет.
  2. "05-03-2019" анализируется как 3 мая, а не 5 марта.

Попробуйте это:

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) { ... }
0 голосов
/ 05 марта 2019

Если вы добавите 0 дней, ваше «если» будет выглядеть так:

if(bday>now && bday<now)

это "если" всегда будет ложным.

Первое выражение дисквалифицирует второе.

...