| Conditions | 9 |
| Paths | 16 |
| Total Lines | 23 |
| Code Lines | 14 |
| Lines | 0 |
| Ratio | 0 % |
| Tests | 14 |
| CRAP Score | 9 |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 32 | 82 | private function processDateTime($dateTime, $required = false): ?string |
|
| 33 | { |
||
| 34 | 82 | if (is_string($dateTime)) { |
|
| 35 | 18 | $dateTime = date_create($dateTime); |
|
| 36 | } |
||
| 37 | |||
| 38 | 82 | if ($dateTime && (int) $dateTime->format('Y') < 0) { |
|
| 39 | 4 | $dateTime = null; |
|
| 40 | } |
||
| 41 | |||
| 42 | 82 | if (!empty($dateTime)) { |
|
| 43 | 70 | if (0 == $dateTime->format('H') && |
|
| 44 | 70 | 0 == $dateTime->format('i') && |
|
| 45 | 70 | 0 == $dateTime->format('s')) { |
|
| 46 | 66 | $dateTime = $dateTime->format('Y-m-d'); |
|
| 47 | } else { |
||
| 48 | 70 | $dateTime = $dateTime->format(DateTimeInterface::W3C); |
|
| 49 | } |
||
| 50 | 12 | } elseif ($required) { |
|
| 51 | 4 | throw new InvalidArgumentException('Invalid date parameter.'); |
|
| 52 | } |
||
| 53 | |||
| 54 | 78 | return $dateTime; |
|
| 55 | } |
||
| 57 |