我正在努力实现这个目标。我对这种语言很新,所以任何帮助都会非常感激。
我开发了一些功能,用户可以通过选择日期和日期来记录年假。我希望能够做的是能够显示剩余的假期/设置限制伐木让他们在年假期间超过25天限制。
我已经查看了日期间隔和日期时间等各种php函数,但无法弄清楚我将如何使用它们。
答案 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
}
这样的事情应该有效,
实际上虽然半天假期是可能的
您可能还需要根据要求检查跨越年份等的假期