当这一天到来时,我如何进行倒计时以显示"Happy New Year 2021"?



我正在用C#为2021年新年制作一个简单的倒计时钟,经过很多不同的方式,它要么在今年而不是明年显示消息,要么在1/1上不显示任何信息,然后直接进入倒计时。我想让它显示";2021新年快乐"1月1日午夜,一天结束后一切恢复正常。这是我遇到麻烦的代码,我还有圣诞节倒计时,它运行得很好,但不是这个。我不确定这是正确的还是我遗漏了什么。非常感谢。

DateTime starttime1 = DateTime.Now;
DateTime newyear = new DateTime(DateTime.Now.Year+1, 1, 1, 0, 0, 0);
DateTime afterNewyear = new DateTime(DateTime.Now.Year, 1, 2, 0, 0, 0);
if (starttime1 < newyear)
{
timer1.Start();
}            
else if (starttime1 >= dayAfterNewyear && starttime1 <= dayAfterNewyear)
{
timer1.Stop();
label1.Text = "Happy New Year 2021";
}
else {
//start the countdown again for next year//   
}

也许是这样的,我没有运行你的代码,但我怀疑问题是你与新年后的比较

if ((newyear - starttime1).TotalDays  > 0)//if newyear hasn't been reached
{
timer1.Start();
}
else if (Math.Abs((starttime1-newyear).TotalDays) < 1)//If currently if the new year day
{
timer1.Stop();
label1 = "Happy New Year 2021";
}
else
{
//start the countdown again for next year//   
}

最新更新