ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
Days.php
Go to the documentation of this file.
1<?php
2
4
5use DateTimeInterface;
8use PhpOffice\PhpSpreadsheet\Shared\Date as SharedDateHelper;
9
10class Days
11{
27 public static function between($endDate, $startDate)
28 {
29 try {
30 $startDate = Helpers::getDateValue($startDate);
31 $endDate = Helpers::getDateValue($endDate);
32 } catch (Exception $e) {
33 return $e->getMessage();
34 }
35
36 // Execute function
37 $PHPStartDateObject = SharedDateHelper::excelToDateTimeObject($startDate);
38 $PHPEndDateObject = SharedDateHelper::excelToDateTimeObject($endDate);
39
40 $days = Functions::VALUE();
41 $diff = $PHPStartDateObject->diff($PHPEndDateObject);
42 if ($diff !== false && !is_bool($diff->days)) {
43 $days = $diff->days;
44 if ($diff->invert) {
45 $days = -$days;
46 }
47 }
48
49 return $days;
50 }
51}
An exception for terminatinating execution or to throw for unit testing.
static between($endDate, $startDate)
DAYS.
Definition: Days.php:27
static getDateValue($dateValue, bool $allowBool=true)
getDateValue.
Definition: Helpers.php:31