我想设置每周/每两周一次的过滤器这样事情只能在特定日期的某些时间内发生。我想知道是否有类似这样的数据约定。目前我能想到的最好的东西是代表两周内每14天的开始和结束时间,但是当一天有多次例如星期一0900-1200和星期一1300-1500时,这种情况无法处理。我每天限制一次。
到目前为止我想出的例子
class schedule{
MondayWeekOneStartTime;
MondayWeekOneEndTime;
TuesdayWeekOneStartTime;
TuesdayWeekOneEndTime;
...
}
此数据结构将作为表存储在sql数据库中,因此我希望将列数保持最小。有没有更好的方式来表示这种类型的时间表,还是我坚持这种方式?
答案 0 :(得分:2)
这个怎么样?
class ScheduleDay
{
DayOfWeek Day;
Timespan[] Times
}
class Schedule
{
ScheduleDay[] Days;
}
在您的数据库中,您创建了两个表,一个用于带有id和(每个示例)名称的Schedule,另一个用于带有id,scheduleid,day,start,end的ScheduleDay。
通过这种方式,您可以根据需要处理多个时间跨度。