2012-06-05 2 views
-2

라이브러리에 페널티를 계산하는 클래스를 준비 중입니다. 예 : 나는 책을 가지고있다. 나는이 책을 2009 년 12 월 11 일에 반환 할 것이다. 그러나 나는이 반환 날짜를 연기한다. 나는 2009 년 11 월 30 일에 책을 반납했다. 나는 벌금을 돈으로 지불 할 것이다. C#에서 (11 월 31 일 - 11 월 12 일) 어떻게 계산합니까?C# 시간 슬롯 계산 (today-givenDate)

벌금은 영업일에만 계산되어야합니다. 즉, 주말과 공휴일을 계산해야합니다. 물론

<Holiday Date="25.11.2009"/> 
    <Holiday Date="26.11.2009"/> 
    <Holiday Date="27.11.2009"/> 
+0

나는 잘 모른다. 나는 C#에서 새로운 사람이다. – cethint

+4

두 날짜 사이의 영업일 수 (주말이 아닌 날)를 계산하려고합니다. - [두 날짜 사이의 업무 일 수 계산 가능] 중복 가능? (http://stackoverflow.com/questions/1617049/calculate-the-number-of-business-days-between-two-dates) –

+4

생각합니다. 당신의 첫 걸음은 당신 스스로 시도해보아야하고, 더 구체적인 문제가있을 때 돌아 오는 것입니다. Stack Overflow는 도로 블록을 피할 수있는 좋은 장소입니다. 전체 거리를 운전하는 것이 아닙니다. – ean5533

답변

2
public int CountBusinessDaysBetween(DateTime start, DateTime end) { 
    int days = end.Subtract(start).Days; 
    return Enumerable.Range(0, days) 
        .Select(day => start.AddDays(day)) 
        .Where(date => date.IsBusinessDay()) 
        .Count(); 
} 

, 당신이IsBusinessDay 직접 코딩해야합니다. 나는 당신의 사업 일 정의가 무엇인지 모르겠다. 고도입니다.

또한 포함 여부에 관계없이 계산하려면 의 정의에 + 1이 필요할 수도 있습니다.