首页 新闻 会员 周边 捐助

c#获取当前的时间判断是白班还是夜班

0
悬赏园豆:5 [已解决问题] 解决于 2022-10-20 15:00

大佬们 有一个问题想请教一下
我有两个班次
一个白班 时间段是 8:30~20:30
一个夜班 时间段是 20:30~8:30
我需要如何判断 当前的时间是 属于白班还是夜班

我就爱c#的主页 我就爱c# | 初学一级 | 园豆:12
提问于:2022-10-15 10:46
< >
分享
最佳答案
0

定义一个判断白班/夜班的方法

private bool IsNight(DateTime curDt, DateTime dtBeginTime, DateTime dtEndTime)
{
bool isNight = false;            
if (dtBeginTime < dtEndTime && curDt >= dtBeginTime && curDt < dtEndTime)            
{
   //白班
   isNight = false;
}
else if
{
    //夜班
    isNight = true;
}

return isNight;
}

然后,可以通过这种方式调用


var curDt = DateTime.Now;
DateTime dtBeginTime = DateTime.Parse(String.Format("{0} {1}", curDt.ToString_yyyyMMdd(),"08:30:00"));        DateTime dtEndTime = DateTime.Parse(String.Format("{0} {1}", curDt.ToString_yyyyMMdd(),"20:30:00"));          vmData.isNight = IsNight(curDt, dtBeginTime, dtEndTime);  
                    
                    

收获园豆:3
楠木大叔 | 老鸟四级 |园豆:2083 | 2022-10-15 16:12
其他回答(3)
0

直接获取当前时间,判断时间段就可以呀

夜路循迹 | 园豆:104 (初学一级) | 2022-10-15 11:36
0

收获园豆:1
Mad_Rabbit | 园豆:307 (菜鸟二级) | 2022-10-16 12:59
0

return (DateTime.Now.TimeOfDay >= new TimeSpan(8, 30, 0) && DateTime.Now.TimeOfDay < new TimeSpan(20, 30, 0)) ? "白班" : "夜班";

收获园豆:1
ensleep | 园豆:1682 (小虾三级) | 2022-10-17 08:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册