Проверка логики подсчета дней между двумя датами, исключая выходные дниC#

Место общения программистов C#
Ответить
Anonymous
 Проверка логики подсчета дней между двумя датами, исключая выходные дни

Сообщение Anonymous »

Цель состоит в том, чтобы подсчитать общее количество дней отпуска, использованных всеми сотрудниками, с разбивкой по месяцам и годам, чтобы выходные дни не включались в подсчет.
Суммирование дней отпуска дает неверные значения.< /p>
public double CalculateLeaveDaysForPeriod(List staffMembers, DateTime periodStart, DateTime periodEnd)
{
double totalLeaveDays = 0;

foreach (var staffMember in staffMembers)
{
foreach (var leaveRequest in staffMember.LeaveRequests)
{
DateTime leaveStartDate = leaveRequest.StartDate;
DateTime leaveEndDate = leaveRequest.EndDate;

DateTime validStartDate = leaveStartDate > periodStart ? leaveStartDate : periodStart;
DateTime validEndDate = leaveEndDate < periodEnd ? leaveEndDate : periodEnd;

if (validStartDate < validEndDate)
{
for (DateTime currentDay = validStartDate; currentDay

Подробнее здесь: https://stackoverflow.com/questions/793 ... g-weekends
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»