@@ 355-375 (lines=21) @@ | ||
352 | return end($list) ?: false; |
|
353 | } |
|
354 | ||
355 | public function currentOpenRangeStart(DateTimeInterface $dateTime) |
|
356 | { |
|
357 | /** @var TimeRange $range */ |
|
358 | $range = $this->currentOpenRange($dateTime); |
|
359 | ||
360 | if (! $range) { |
|
361 | return false; |
|
362 | } |
|
363 | ||
364 | if (! ($dateTime instanceof DateTimeImmutable)) { |
|
365 | $dateTime = clone $dateTime; |
|
366 | } |
|
367 | ||
368 | $nextDateTime = $range->start()->toDateTime(); |
|
369 | ||
370 | if ($range->overflowsNextDay() && $nextDateTime->format('Hi') > $dateTime->format('Hi')) { |
|
371 | $dateTime = $dateTime->modify('-1 day'); |
|
372 | } |
|
373 | ||
374 | return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
|
375 | } |
|
376 | ||
377 | public function currentOpenRangeEnd(DateTimeInterface $dateTime) |
|
378 | { |
|
@@ 377-397 (lines=21) @@ | ||
374 | return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
|
375 | } |
|
376 | ||
377 | public function currentOpenRangeEnd(DateTimeInterface $dateTime) |
|
378 | { |
|
379 | /** @var TimeRange $range */ |
|
380 | $range = $this->currentOpenRange($dateTime); |
|
381 | ||
382 | if (! $range) { |
|
383 | return false; |
|
384 | } |
|
385 | ||
386 | if (! ($dateTime instanceof DateTimeImmutable)) { |
|
387 | $dateTime = clone $dateTime; |
|
388 | } |
|
389 | ||
390 | $nextDateTime = $range->end()->toDateTime(); |
|
391 | ||
392 | if ($range->overflowsNextDay() && $nextDateTime->format('Hi') < $dateTime->format('Hi')) { |
|
393 | $dateTime = $dateTime->modify('+1 day'); |
|
394 | } |
|
395 | ||
396 | return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
|
397 | } |
|
398 | ||
399 | public function nextClose(DateTimeInterface $dateTime): DateTimeInterface |
|
400 | { |