C#获取两个时间的时间差并去除周末(取工作日)的方法
本文实例讲述了C#获取两个时间的时间差并去除周末的方法。分享给大家供大家参考。具体分析如下:
一般来说取时间差的代码很多,但是能够只取工作日的时间差的代码很少,这段代码就来实现这一功能。
protectedvoidPage_Load(objectsender,EventArgse) { DateTimestart=Convert.ToDateTime("2012-12-10"); DateTimeend=Convert.ToDateTime("2012-12-18"); TimeSpanspan=end-start; //inttotleDay=span.Days; //DateTimespanNu=DateTime.Now.Subtract(span); intAllDays=Convert.ToInt32(span.TotalDays)+1;//差距的所有天数 inttotleWeek=AllDays/7;//差别多少周 intyuDay=AllDays%7;//除了整个星期的天数 intlastDay=0; if(yuDay==0)//正好整个周 { lastDay=AllDays-(totleWeek*2); } else { intweekDay=0; intendWeekDay=0;//多余的天数有几天是周六或者周日 switch(start.DayOfWeek) { caseDayOfWeek.Monday: weekDay=1; break; caseDayOfWeek.Tuesday: weekDay=2; break; caseDayOfWeek.Wednesday: weekDay=3; break; caseDayOfWeek.Thursday: weekDay=4; break; caseDayOfWeek.Friday: weekDay=5; break; caseDayOfWeek.Saturday: weekDay=6; break; caseDayOfWeek.Sunday: weekDay=7; break; } if((weekDay==6&&yuDay>=2)||(weekDay==7&&yuDay>=1)||(weekDay==5&&yuDay>=3)||(weekDay==4&&yuDay>=4)||(weekDay==3&&yuDay>=5)||(weekDay==2&&yuDay>=6)||(weekDay==1&&yuDay>=7)) { endWeekDay=2; } if((weekDay==6&&yuDay<1)||(weekDay==7&&yuDay<5)||(weekDay==5&&yuDay<2)||(weekDay==4&&yuDay<3)||(weekDay==3&&yuDay<4)||(weekDay==2&&yuDay<5)||(weekDay==1&&yuDay<6)){ endWeekDay=1; } lastDay=AllDays-(totleWeek*2)-endWeekDay; } lblTime.Text=lastDay.ToString(); }
希望本文所述对大家的C#程序设计有所帮助。