public function __construct(Season\Name $name, Period $period) { if ($period === null) { throw new \InvalidArgumentException("de periode moet gezet zijn", E_ERROR); } parent::__construct($period->getStartDate(), $period->getEndDate()); if ($name === null) { throw new \InvalidArgumentException("de naam moet gezet zijn", E_ERROR); } $this->m_name = $name; }
/** * Returns the difference between two Period objects expressed in \DateInterval * * @param Period $period * * @return DateInterval */ public function dateIntervalDiff(Period $period) { return $this->endDate->diff($this->withDuration($period->getDateInterval())->endDate); }
private function handlePilotCentreData($request) { $pilot = Pilot::find($request->input('dbid')); $pireps = $pilot->pireps; $pirepCount = 0; $totalHours = 0; $landingRates = []; foreach ($pireps as $pirep) { $pirepCount++; // Calculate Total Hours $flightTime = new Period($pirep->departure_time, $pirep->landing_time); $totalHours += $flightTime->getDuration(true); // Calculate Average Landing Rate $landingRates[] = $pirep->landing_rate; } $ret = ["totalhours" => round($totalHours / 3600, 2), "totalflights" => $pirepCount, "averagelandingrate" => count($landingRates) > 0 ? round(array_sum($landingRates) / count($landingRates)) : "N/A", "totalpireps" => $pirepCount]; $result = $this->smartCARSService->sanitizeResult($ret); return implode(",", [$result['totalhours'], $result['totalflights'], $result['averagelandingrate'], $result['totalpireps']]); }