求一个算法(排除请假开始时间- 请假结束时间 )

来源:百度知道 编辑:UC知道 时间:2024/06/13 15:49:45
求一个算法(排除请假开始时间- 请假结束时间 )
排除请假开始时间- 请假结束时间
中间的星期天

private int GetHolidays(DateTime StartDate, DateTime EndDate)
{
if(EndDate < StartDate)
{
return 0;
}

int SDays = CreateWeekSaturday(true, ref StartDate);
int EDays = CreateWeekSaturday(false, ref EndDate);

TimeSpan Span = EndDate.Subtract(StartDate);
Int32 TotalDays = Convert.ToInt32(Span.TotalDays);
Int32 Sundays = TotalDays / 7;

TotalDays = TotalDays + SDays - EDays - Sundays;

//Monday -> Tuesday 2 Days
TotalDays++;

return TotalDays;
}

private int CreateWeekSaturday(bool IsStartFlag, ref DateTime time)
{
int i = 0;
switch(time.DayOfWeek)
{
case DayOfWeek.Monday:
i = 5;