2014-04-14 90 views
0

我想设置一个每周/每两周时间过滤器这样的事情只能在某些日子的某些时间内发生。我想知道是否有像这样的数据约定。目前我能想到的最好的东西是代表两天中每14天的开始和结束时间,但是当一天多次(例如星期一0900-1200和星期一1300-1500)不能处理这种情况时。我每天限制一次。每周/每两周时间过滤器数据结构

例子我已经想出迄今

class schedule{ 
    MondayWeekOneStartTime; 
    MondayWeekOneEndTime; 
    TuesdayWeekOneStartTime; 
    TuesdayWeekOneEndTime; 
    ... 
} 

这个数据结构将被存储在一个SQL数据库中的表(S),所以我想列的数量保持在最低限度。有没有更好的方式来表示这种类型的时间表,还是我坚持这种方式?

回答

2

这是怎么回事?

class ScheduleDay 
{ 

    DayOfWeek Day; 
    Timespan[] Times 

} 

class Schedule 
{ 

    ScheduleDay[] Days; 

} 

而且在你的数据库创建两个表,一个附表通过ID和(例如每)的名称,以及其他用于ScheduleDay与ID,scheduleid,日,开始,结束。

通过这种方式,您可以根据需要处理尽可能多的时间段。