1

開始日と月数があります。たとえば、特定の数の月間期間を作成する必要があります。

var startingDate = new DateTime(2010,1,15);
var months = 3;
for (int i = 0; i < months; i++)
 {
 Console.WriteLine("{0} from {1} to {2}", i + 1, startingDate.AddMonths(i), 
startingDate.AddMonths(i + 1).AddDays(-1));
}
OUTPUT:
1 from 2010-1-15 to 2010-2-14
2 from 2010-2-15 to 2010-3-14
3 from 2010-3-15 to 2010-4-14

この場合、コードは単純で機能します。ただし、startDate が DateTime(2010,1,31) の場合、結果は次のようになります。

OUTPUT:
1 from 2010-1-31 to 2010-2-27
2 from 2010-2-28 to 2010-3-30
3 from 2010-3-31 to 2010-4-29

これらの期間は正しいですか?

4

2 に答える 2

1

それらが正しいか間違っているかを選択できます。つまり、1 月 15 日に生理が始まる場合、その月の最初の日から 14 日後に始まりますか、それとも最後の月の 16 日前に始まりますか?

さらにトリッキーになる可能性があります。15日が火曜日の場合、あなたの生理はその月の第3火曜日から始まると定義されていますか?

これについては、金融業界で多くの文献があります。これは、Day Count Conventions、Business Days、Rolling Conventions などによって、金融商品の価格設定やそれに関連するキャッシュ フローに大きな違いが生じる可能性があるためです。 .

于 2010-12-02T18:40:18.400 に答える
1

期間はファンキーに見えますが、正しいです。

生理が月末に始まる場合は、翌月の末日から 2 日後に終わります。

于 2010-12-02T17:21:34.130 に答える