我是c#的新手,我使用的是Windows窗体。
任何人都知道如何在c#中找到当前时间是否落在时间范围内。
例如:我想检查当前时间是否在凌晨12点到凌晨4点之间。
我尝试了下面的代码,但它给出了我当前时间是下午6点时的真实陈述,这是不正确的:
if (DateTime.Now >= DateTime.Today.AddHours(0) &&
DateTime.Now <= DateTime.Today.AddHours(4))
{
MessageBox.Show("time is between 12am and 4am");
}
请帮帮我。谢谢
答案 0 :(得分:2)
TimeSpan start = new TimeSpan(00, 0, 0); //12 o'clock am
TimeSpan end = new TimeSpan(04, 0, 0); //4 o'clock am
TimeSpan now = DateTime.Now.TimeOfDay;
if ((now > start) && (now < end))
{
MessageBox.Show("time is between 12am and 4am");
}
答案 1 :(得分:2)
if(DateTime.Now.Hour >= 0 & DateTime.Now.Hour < 4)
刚刚测试
Debug.WriteLine(DateTime.Now.Hour);
if(DateTime.Now.Hour >= 0 & DateTime.Now.Hour < 4)
Debug.WriteLine("in");
else
Debug.WriteLine("out");
答案 2 :(得分:1)
DateTime.Compare需要两个日期时间并对它们进行比较。如果第一个在第二个之后或之后,则返回1;如果它早于第二个则返回-1。否则返回0
if (DateTime.Compare(DateTime.Now, DateTime.Today.AddHours(0)) > 0 && DateTime.Compare(DateTime.Now, DateTime.Today.AddHours(4)) < 0)
{
MessageBox.Show("time is between 12am and 4am");
}