确定给定的日期范围是否具有模式

时间:2011-09-21 05:01:36

标签: winforms c#-4.0

我正在处理项目中的算法,我需要遍历一系列日期(已排序),我需要检查日期是否遵循特定模式。以下是要检测的所有可能模式的列表:

  • (未检测到模式。只是一组随机的日期)
  • 连续4个星期一
  • 连续4周二
  • 连续4周三
  • 4星期四或更长时间
  • 连续4个星期五或更长时间
  • 连续4个星期六或更长时间
  • 连续4个星期日或更长时间
  • 星期一,星期二,星期三和星期四一起
  • 周二,周三,周四和周五
  • 周三,周四,周五和周六在一起
  • 星期四,星期五,星期六,和孙一起
  • 每隔一个星期一
  • 每隔一个星期二
  • 每隔一个星期三
  • 每隔一个星期四
  • 每隔一个星期五
  • 每隔一个星期六
  • 每隔一个星期天

所有这些模式都可以通过Enum表示。我需要通过函数检测用户给定日期范围匹配的模式。

现在,每个模式都附有条件。例如:

连续4个星期一要求日期集合必须至少有4个日期,如果有超过4个日期,则日期总数必须为真,因为 - > 日期数 MOD 4 == 0

星期一,星期二,星期三和星期四要求日期收集至少有4个没有间隙的日期,如果有超过4个,则日期总数必须为真 - >> 日期数 MOD 4 == 0

任何帮助将不胜感激。问候。

1 个答案:

答案 0 :(得分:1)

为每个要匹配的模式创建一个类(所有类都从一个基类继承),有类似“feed”方法向其传递日期,通过所有这些模式类运行数据,然后有一些对模式类的评估方法,它将告诉您标准是否得到满足