Să vedem cum am putea folosi o funcţie pentru redare perioadă, care să preia două date (iniţială şi finală) şi să fie afişată, astfel:
dd.mm. - dd.mm.yyyy, dacă perioada implică acelaşi an saudd.mm.yyyy - dd.mm.yyyy, dacă se întinde pe ani diferiţi.
|
1 2 3 4 5 6 7 8 9 10 11 |
function perioada($dataStart, $dataEnd) { $start = new DateTime($dataStart); $end = new DateTime($dataEnd); if ($start->format('Y') === $end->format('Y')) { // Același an → format: dd.mm. - dd.mm.YYYY return $start->format('d.m.') . '- ' . $end->format('d.m.Y'); } else { // Ani diferiți → format: dd.mm.YYYY - dd.mm.YYYY return $start->format('d.m.Y') . ' - ' . $end->format('d.m.Y'); } } |
Exemple de utilizare:
|
1 2 3 |
echo perioada('2025-03-15', '2025-04-20'); // 15.03. - 20.04.2025 echo " sau "; echo perioada('2024-12-28', '2025-01-05'); // 28.12.2024 - 05.01.2025 |
Va fi afişat: 15.03. - 20.04.2025 sau 28.12.2024 - 05.01.2025.