|
@@ 305-323 (lines=19) @@
|
| 302 |
|
return end($list) ?: false; |
| 303 |
|
} |
| 304 |
|
|
| 305 |
|
public function currentOpenRangeStart(DateTimeInterface $dateTime) |
| 306 |
|
{ |
| 307 |
|
/** @var TimeRange $range */ |
| 308 |
|
$range = $this->currentOpenRange($dateTime); |
| 309 |
|
|
| 310 |
|
if (! $range) { |
| 311 |
|
return false; |
| 312 |
|
} |
| 313 |
|
|
| 314 |
|
$dateTime = $this->copyDateTime($dateTime); |
| 315 |
|
|
| 316 |
|
$nextDateTime = $range->start()->toDateTime(); |
| 317 |
|
|
| 318 |
|
if ($range->overflowsNextDay() && $nextDateTime->format('Hi') > $dateTime->format('Hi')) { |
| 319 |
|
$dateTime = $dateTime->modify('-1 day'); |
| 320 |
|
} |
| 321 |
|
|
| 322 |
|
return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
| 323 |
|
} |
| 324 |
|
|
| 325 |
|
public function currentOpenRangeEnd(DateTimeInterface $dateTime) |
| 326 |
|
{ |
|
@@ 325-343 (lines=19) @@
|
| 322 |
|
return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
| 323 |
|
} |
| 324 |
|
|
| 325 |
|
public function currentOpenRangeEnd(DateTimeInterface $dateTime) |
| 326 |
|
{ |
| 327 |
|
/** @var TimeRange $range */ |
| 328 |
|
$range = $this->currentOpenRange($dateTime); |
| 329 |
|
|
| 330 |
|
if (! $range) { |
| 331 |
|
return false; |
| 332 |
|
} |
| 333 |
|
|
| 334 |
|
$dateTime = $this->copyDateTime($dateTime); |
| 335 |
|
|
| 336 |
|
$nextDateTime = $range->end()->toDateTime(); |
| 337 |
|
|
| 338 |
|
if ($range->overflowsNextDay() && $nextDateTime->format('Hi') < $dateTime->format('Hi')) { |
| 339 |
|
$dateTime = $dateTime->modify('+1 day'); |
| 340 |
|
} |
| 341 |
|
|
| 342 |
|
return $dateTime->setTime($nextDateTime->format('G'), $nextDateTime->format('i'), 0); |
| 343 |
|
} |
| 344 |
|
|
| 345 |
|
public function nextOpen(DateTimeInterface $dateTime): DateTimeInterface |
| 346 |
|
{ |