-2

図書館のペナルティを計算するクラスを準備しています。例:私は本を持っています。この本を2009年11月12日に返却します。しかし、私はこの帰国日を遅らせます。私は2009年11月30日に本を返しました。罰金をお金として払います。C#で(11月31日から11月12日まで)カウントするにはどうすればよいですか?

ペナルティは、営業日についてのみ計算する必要があります。つまり、私の計算では週末と祝日を考慮に入れる必要があります。

    <Holiday Date="25.11.2009"/>
    <Holiday Date="26.11.2009"/>
    <Holiday Date="27.11.2009"/>
4

1 に答える 1

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があります。営業日の定義がわかりません。高度にローカライズされています。

また、包括的に数えたいかどうかわからないので、if so+ 1の定義が必要になるかもしれませんdays

于 2012-06-05T12:50:34.807 に答える