使用c#基于工作日的日历选择



我必须选择基于工作日计算的天数的基础日期(例如:5.0,5.5,6.0)。当我选择基于5.5天,我想自动计算。请帮助我解决这个问题。

private void SelectionChanged(SelectionChangedEventArgs obj)
{
if(Settings.WorkingDay == "5.0")
{
// Code is working fine
}
else if(Settings.WorkingDay == "5.5")
{
startDate = SelectedRange.StartDate.Date;
endDate = SelectedRange.EndDate.Date;
startDate.AddDays(1);
int days = 0;
for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
{
if (startDate.DayOfWeek != DayOfWeek.Sunday)
{
days++;
}
startDate = startDate.AddDays(1);
}
if(startDate.DayOfWeek != DayOfWeek.Saturday && endDate.DayOfWeek != DayOfWeek.Saturday)
{
Quantity = (days) - (Convert.ToDecimal(0.5));
}
else if(startDate.DayOfWeek != DayOfWeek.Saturday)
{
Quantity = (days);
}
Debug.WriteLine(Quantity.ToString());
}
else if(Settings.WorkingDay == "6.0")
{
// Code is working fine
}
}

try this

double qty = 0.0;
for (DateTime date = startDate; date <= endDate; date = date.AddDays(1))
{
if (date.DayOfWeek == DayOfWeek.Sunday)
{
// do nothing
} 
elseif (date.DayOfWeek == DayOfWeek.Saturday)
{
qty += 0.5;
} 
else 
{  
qty ++ 1;
}
}

最新更新