| Total Complexity | 4 |
| Total Lines | 27 |
| Duplicated Lines | 0 % |
| Coverage | 100% |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 15 | class Countdown extends AbstractOperation implements CountdownInterface |
||
| 16 | { |
||
| 17 | 7 | public function execute($dateFrom = 'now', $dateTo, string $format = '%s%02d:%02d:%02d'): string |
|
| 18 | { |
||
| 19 | 7 | $dateFrom = $this->createDateObject($dateFrom); |
|
| 20 | 7 | $dateTo = $this->createDateObject($dateTo); |
|
| 21 | |||
| 22 | 7 | $dateDifference = $dateFrom->diff($dateTo); |
|
| 23 | |||
| 24 | 7 | $dateFromHigherThanDateTo = $dateFrom > $dateTo; |
|
| 25 | |||
| 26 | 7 | $hours = $dateDifference->h; |
|
| 27 | 7 | $minutes = $dateDifference->i; |
|
| 28 | 7 | $seconds = $dateDifference->s; |
|
| 29 | |||
| 30 | 7 | $hours += $this->calculateDaysInHours($dateDifference->days); |
|
| 31 | |||
| 32 | 7 | return \sprintf($format, $dateFromHigherThanDateTo ? '-' : '', $hours, $minutes, $seconds); |
|
| 33 | } |
||
| 34 | |||
| 35 | 7 | private function calculateDaysInHours(int $days): int |
|
| 42 | } |
||
| 43 | } |
||
| 44 |