繰り返し発生するタスクがあり、それらを自動的に再作成するものを構築しています。
私はこの列挙型を持っています:
public enum Periods {
Day = 0, //every day
Week = 1, //every week...
BiWeek = 2, //every 2nd week
Month = 3,
BiMonth = 4,
Year = 5
};
これらの間隔で再現できる必要があります。
したがって、毎月29日に再発することがあるかもしれません。2月のように29日が存在しない場合は、次善の3月1日にジャンプする必要があります。
おそらくDateTimeオブジェクトを使用してこれを行うアルゴリズムはありますか?
私は元が必要です:
DateTime GetNextOccurrence(DateTime initialDate, DateTime lastOccurrence, Periods p)
{
if(p == Day)
return lastOccurance.addDays(1);
else if (p == Month)
{
add 1 month to last occurance month then start at day 1 of the month and keep adding days until it gets as close as possible...
}
ありがとう