|
@@ 326-344 (lines=19) @@
|
| 323 |
|
return end($list) ?: false; |
| 324 |
|
} |
| 325 |
|
|
| 326 |
|
public function currentOpenRangeStart(DateTimeInterface $dateTime) |
| 327 |
|
{ |
| 328 |
|
/** @var TimeRange $range */ |
| 329 |
|
$range = $this->currentOpenRange($dateTime); |
| 330 |
|
|
| 331 |
|
if (! $range) { |
| 332 |
|
return false; |
| 333 |
|
} |
| 334 |
|
|
| 335 |
|
$dateTime = $this->copyDateTime($dateTime); |
| 336 |
|
|
| 337 |
|
$nextDateTime = $range->start()->toDateTime(); |
| 338 |
|
|
| 339 |
|
if ($range->overflowsNextDay() && $nextDateTime->format('Hi') > $dateTime->format('Hi')) { |
| 340 |
|
$dateTime = $dateTime->modify('-1 day'); |
| 341 |
|
} |
| 342 |
|
|
| 343 |
|
return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
| 344 |
|
} |
| 345 |
|
|
| 346 |
|
public function currentOpenRangeEnd(DateTimeInterface $dateTime) |
| 347 |
|
{ |
|
@@ 346-364 (lines=19) @@
|
| 343 |
|
return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
| 344 |
|
} |
| 345 |
|
|
| 346 |
|
public function currentOpenRangeEnd(DateTimeInterface $dateTime) |
| 347 |
|
{ |
| 348 |
|
/** @var TimeRange $range */ |
| 349 |
|
$range = $this->currentOpenRange($dateTime); |
| 350 |
|
|
| 351 |
|
if (! $range) { |
| 352 |
|
return false; |
| 353 |
|
} |
| 354 |
|
|
| 355 |
|
$dateTime = $this->copyDateTime($dateTime); |
| 356 |
|
|
| 357 |
|
$nextDateTime = $range->end()->toDateTime(); |
| 358 |
|
|
| 359 |
|
if ($range->overflowsNextDay() && $nextDateTime->format('Hi') < $dateTime->format('Hi')) { |
| 360 |
|
$dateTime = $dateTime->modify('+1 day'); |
| 361 |
|
} |
| 362 |
|
|
| 363 |
|
return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
| 364 |
|
} |
| 365 |
|
|
| 366 |
|
public function nextOpen(DateTimeInterface $dateTime): DateTimeInterface |
| 367 |
|
{ |