2012-02-26 55 views
-5

例如,我們有每3個月進行一次的事件。事件有DateStart,DataEnd和Periodicity。事件的週期性

幫助我編寫方法,如果事件將在特定日期發生,則返回true/false。

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

} 

例如,記錄有:

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

方法必須返回true時,當月=二月,五月,八月,十一月。

謝謝。

+2

什麼是*特定*問題? – 2012-02-26 03:40:08

+1

我認爲問題是,「有人可以爲我寫代碼嗎?」 – Tyson 2012-02-26 03:43:39

+0

請再次閱讀問題,請 – user1230307 2012-02-26 03:43:42

回答

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; 

所有你正在做的是確保someDate不過去end並且在startsomeDate之間幾個月不同的是整除均勻地週期性。

+0

謝謝,但你的代碼打印四月作爲第一,但必須是二月(例如有問題) – user1230307 2012-02-26 04:07:33

+0

我設置checkDate爲昨天。 – user1230307 2012-02-26 04:10:09

+0

@ user1230307既然他給了你一個想法,那麼你可以嘗試自己處理它。然後,你會理解邏輯,並能夠在將來做類似的事情。 – simchona 2012-02-26 04:11:15

相關問題