nafikbkgl adlı üyeden alıntı: mesajı görüntüle
Merhaba arkadaşlar herkese iyi çalışmalar,

Bir tarih üzerine belli bir sayı ekleyip çıkan sonuç tarihini almak istiyorum.

Örn : 09.11.2022 + 45 gün = 11.01.2023 aralarda ki tüm tatilleri hesaplatmalıyım. Yılbaşı, bayramlar vb. tüm tatiller.

yardımcı olacak tüm arkadaşlara teşekkür ederim.
$tarih1 = new DateTime($_POST['tarih1']); // kullanıcının girdiği ilk tarih
$tarih2 = new DateTime($_POST['tarih2']); // kullanıcının girdiği ikinci tarih
$fark = $tarih1->diff($tarih2); // iki tarih arasındaki farkı hesapla

$tatilgunleri = array( // tatil günleri listesi
    '01.01',
    '23.04',
    '01.05',
    '19.05',
    '20.07',
    '30.08',
    '29.10',
    '31.12'
);

$gun = new DateInterval('P1D'); // bir gün aralığı
$tarih = $tarih1; // tarih1'den başla

while ($tarih <= $tarih2) { // tarih aralığı boyunca dön
    $gunun_tarihi = $tarih->format('d.m'); // günün tarihini al
    if (in_array($gunun_tarihi, $tatilgunleri)) { // tatil günü mü?
        echo $gunun_tarihi . ' tatil' . PHP_EOL; // ekrana yazdır
    }
    $tarih->add($gun); // bir sonraki güne geç
}