dx v2: fix no day match

This commit is contained in:
2026-01-10 18:28:58 +03:00
parent 8fe904eebe
commit e6c97a6499
+6 -6
View File
@@ -13,26 +13,26 @@ function findClosestDateSort($array, $targetDate)
if (empty($array) || !preg_match('/^\d{1,2}-\d{1,2}-\d{2}$/', $targetDate)) { if (empty($array) || !preg_match('/^\d{1,2}-\d{1,2}-\d{2}$/', $targetDate)) {
return null; return null;
} }
$targetDateTime = DateTime::createFromFormat('d-m-y', $targetDate); $targetDateTime = DateTime::createFromFormat('d-m-y', $targetDate);
if ($targetDateTime === false) return null; if ($targetDateTime === false) return null;
$targetTimestamp = $targetDateTime->getTimestamp(); $targetTimestamp = $targetDateTime->getTimestamp();
$result = null; $result = null;
$maxTimestamp = null; $maxTimestamp = null;
foreach ($array as $item) { foreach ($array as $item) {
$itemDateTime = DateTime::createFromFormat('d-m-y', $item['fromDate']); $itemDateTime = DateTime::createFromFormat('d-m-y', $item['fromDate']);
if ($itemDateTime === false) continue; if ($itemDateTime === false) continue;
$itemTimestamp = $itemDateTime->getTimestamp(); $itemTimestamp = $itemDateTime->getTimestamp();
if ($itemTimestamp <= $targetTimestamp && ($maxTimestamp === null || $itemTimestamp > $maxTimestamp)) { if ($itemTimestamp <= $targetTimestamp && ($maxTimestamp === null || $itemTimestamp > $maxTimestamp)) {
$maxTimestamp = $itemTimestamp; $maxTimestamp = $itemTimestamp;
$result = $item; $result = $item;
} }
} }
return $result; return $result ?: ['content' => '[]'];
} }
function getDayOfWeek(string $date) function getDayOfWeek(string $date)
{ {