使用php重复检查日期和时间

时间:2012-10-27 05:50:43

标签: php

我有一个php网站,在这里我需要创建一个页面来输入学生的考试详情。一次考试有5个科目。每个科目都有考试日期,开始时间和结束时间

即。

Date: 02-nov-2012 
Start time: 2.30 pm
End time: 4.30 pm 

我必须检查考试日期时间的重复...即。如果一个科目有

,任何其他没有相似日期时间的科目
Exam Date:  02-nov-2012 
Start time: 3.00.pm 
End date: 5.00 pm 

必须避免。它无效 另一个主题有

Exam Date:  02-nov-2012 
Start time: 9.00.am 
End date: 2.00 pm 

这是有效的

我认为很清楚......我不知道详细解释...... 我不知道在php中验证这个

1 个答案:

答案 0 :(得分:0)

$errors = array();

for ($i = 0; $i < count($exams); $i++) {
  for ($j = $i+1; $j < count($exams); $j++) {
    if (($exams[$j]['start_time'] >= $exams[$i]['start_time'] && ($exams[$j]['start_time'] <= $exams[$i]['end_time']) ||
        ($exams[$j]['end_time'] >= $exams[$i]['start_time'] && ($exams[$j]['end_time'] <= $exams[$i]['end_time'])) {
      $errors[] = "<li>Exams $i and $j overlap.</li>";
    }
  }
}

if ($errors) {
  echo "There were conflicts:<br><ul>\n ", join("\n ", $errors), "\n</ul>\n";
} else {
  echo "Congratulations, no conflicts!\n";
}