2012-02-26 10 views
-5

たとえば、3か月ごとにイベントが開催されます。イベントにはDateStart、DataEnd、およびPeriodicityがあります。イベントの周期性

特定の日付にイベントが送信される場合はtrue/falseを返すメソッドを作成するのを手伝ってください。例えば

public bool MonthPeriodicityChecker (DateTime start, DateTime end, DateTime dateCheck, int periodicity) 
{ 

} 

、レコードを持っている:ときに、現在の月= 2月、5月、8月、11月

start = 02/23/2012 22:00:00; 
end = 12/31/2012 23:30:00; 
periodicity = 3; 

をメソッドはtrueを返す必要があります。

ありがとうございました。

+2

*具体的な質問は何ですか? –

+1

質問は「誰かが私のためにコードを書くことができますか?」と思います。 – Tyson

+0

質問をもう一度読んでください。 – user1230307

答えて

3

コードは非常に単純です:

var someDate = DateTime.Now; // could be any date set some other way 

if(someDate > end) return false; 

var checkDate = start; 
while(checkDate < end) 
{ 
    if(checkDate.Month == someDate.Month && checkDate.Year == someDate.Year) 
     return true; 
    checkDate = checkDate.AddMonths(periodicity); 
} 

return false; 

あなたがやっているすべてはsomeDateend過去ではなく、startsomeDate間ヶ月の差が周期で割り切れるであることを確認することです。

+0

ありがとうございます。しかし、あなたのコードは4月を最初に印刷しますが、2月でなければなりません(例えば質問の) – user1230307

+0

私はcheckDateを昨日。 – user1230307

+0

@ user1230307彼はあなたにアイデアを与えたので、代わりに自分で作業を試みることができます。それでは、論理を理解し、将来類似したことをすることができます。 – simchona

関連する問題