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ç
}