주어진 두 datetimes. 그들 사이의 근무 시간을 계산하는 가장 좋은 방법은 무엇입니까? 근무 시간은 월 8 - 5.30, 화요일 - 금 8.30 - 5.30이며, 잠재적으로 하루는 공휴일 일 수 있음을 고려하십시오.2 datetime 사이의 경과 근무 시간 계산
이것은 내 노력으로 비효율적이지만 비효율적이지만 반복 횟수와 IsWorkingDay 메서드가 DB에 도달하여 해당 날짜 시간이 공휴일인지 확인합니다.
누구나 어떤 최적화 나 대안을 제안 할 수 있습니까? 특히 IsWorkingDay 방법을 고려
public decimal ElapsedWorkingHours(DateTime start, DateTime finish)
{
decimal counter = 0;
while (start.CompareTo(finish) <= 0)
{
if (IsWorkingDay(start) && IsOfficeHours(start))
{
start = start.AddMinutes(1);
counter++;
}
else
{
start = start.AddMinutes(1);
}
}
decimal hours;
if (counter != 0)
{
hours = counter/60;
}
return hours;
}
몇 개의 공휴일을 보유하고 계십니까? ; P – leppie