您的位置:首页 > 编程语言 > C#

C#取两个时间的时间差并去除周末

2017-11-15 16:49 302 查看
protected
void
Page_Load(
object
sender,
EventArgse)
{
DateTime
start=Convert.ToDateTime(
"2012-12-10"
);
DateTime
end=Convert.ToDateTime(
"2012-12-18"
);
TimeSpan
span=end-start;
//int
totleDay=span.Days;
//DateTime
spanNu=DateTime.Now.Subtract(span);
int
AllDays=Convert.ToInt32(span.TotalDays)+1;
//差距的所有天数
int
totleWeek
=AllDays/7;
//差别多少周
int
yuDay
=AllDays%7;
//除了整个星期的天数
int
lastDay
=0;
if
(yuDay
==0)
//正好整个周
{
lastDay
=AllDays-(totleWeek*2);
}
else
{
int
weekDay
=0;
int
endWeekDay
=0;
//多余的天数有几天是周六或者周日
switch
(start.DayOfWeek)
{
case
DayOfWeek.Monday:
weekDay
=1;
break
;
case
DayOfWeek.Tuesday:
weekDay
=2;
break
;
case
DayOfWeek.Wednesday:
weekDay
=3;
break
;
case
DayOfWeek.Thursday:
weekDay
=4;
break
;
case
DayOfWeek.Friday:
weekDay
=5;
break
;
case
DayOfWeek.Saturday:
weekDay
=6;
break
;
case
DayOfWeek.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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: