2009-01-19 56 views
0

什麼是最有效的方法來檢查日期之間的時間跨度的重複使用C#日期類。什麼是最有效的方法來檢查日期是否在間隔復發之間?

例如,你有跨度01/01/2009 1:00:00 AM。到01/06/2009下午5:00其中重複每X數年,數月或數週等

而且我想檢查變量日期x是否屬於任何復發

我讀Martin Fowler's paper on temporal expressions但他所有的例子都是單日事件,而不是可以跨越多天的事件。

+0

是在表達重複的時間總是在數字上相同(例如7天,30天,365天),還是必須遵循日期驅動的規則,例如每個月,每年?如果是後者,如果時期是1月29日到1月31日,2月會發生什麼? – 2009-01-19 17:33:38

+0

亞當我通過給予用戶選擇在月份或月份的某一天(在某些情況下不會發生)中選擇一週中的某一天(星期一,星期二等)的選項來解決此問題 – Element 2009-01-19 17:39:22

回答

2

以下條件必須爲真:

(time - begin) mod period < (end - begin)

提供period > (begin - end)

所有的變量都應該在同一個單位(如,秒或任何精度需要)

相關問題