PHP总计一年内逗留的天数

时间:2015-06-07 16:38:47

标签: php mysql

我正在努力实现这个目标。我对这种语言很新,所以任何帮助都会非常感激。

我开发了一些功能,用户可以通过选择日期和日期来记录年假。我希望能够做的是能够显示剩余的假期/设置限制伐木让他们在年假期间超过25天限制。

我已经查看了日期间隔和日期时间等各种php函数,但无法弄清楚我将如何使用它们。

2 个答案:

答案 0 :(得分:0)

我会做这样的事情来计算总天数。

<?php
$time_off_requests = array(0 => array('start_date' => '2015-01-01', 'end_date' => '2015-01-14'), array('start_date' => '2015-12-20', 'end_date' => '2016-01-02');
$total_days = 0;
foreach($time_off_requests as $time_out) {
    $datetime1 = new DateTime($time_out['start_date']);
    $datetime2 = new DateTime($time_out['end_date']);
    $interval = $datetime1->diff($datetime2);
    $total_days += (int)$interval->format('%a');
}
echo 'Out for a total of '.$total_days.' days this period.';

但是,如果您的数据在MySQL数据库中,我建议您在SQL查询中执行此操作,除非您有充分理由不这样做。

答案 1 :(得分:0)

   $maxHolidays = 25;
   $holidaysTaken = 0; //populate this from a database, Past holidays
   $start = new DateTime('2015-07-26');
   $end  = new DateTime('2015-08-26');
   $diff = $dStart->diff($dEnd);

   if ($holidaysTaken + $diff < $maxHolidays) {
     // Add the holiday
     //add to the database
   } else {
     //reject the holiday
   }

这样的事情应该有效,

实际上虽然半天假期是可能的

您可能还需要根据要求检查跨越年份等的假期