3v4l.org

run code in 300+ PHP versions simultaneously
<?php function rapor_son_tarih_hesapla($gorevlendirme_tarihi, $teslimgunsayisi) { print_r($gorevlendirme_tarihi); echo "\n"; if ($teslimgunsayisi < 1) { $talep_tarihi__ = date("Y-m-d"); } else { $ccc = 0; $teslimgunsay = 0; for ($a = 1; $a <= 20; $a++) { if ($teslimgunsay < $teslimgunsayisi) { $ccc++; $gunn = strtotime($gorevlendirme_tarihi) + ($ccc * 86400); $talep_tarihi__ = date("Y-m-d", $gunn); $haftaningunu = date("N", strtotime($talep_tarihi__)); $tar = ($talep_tarihi__); if ($haftaningunu < 6) { $teslimgunsay++; print_r("haftanın günü: ". $haftaningunu); echo "\n"; print_r("haftanın günü tarih: ".$talep_tarihi__); echo "\n"; } } } } if (strlen($talep_tarihi__) == 10) $talep_tarihi__ = $talep_tarihi__ . " 00:00:01"; return date("d.m.Y H:i:s", strtotime($talep_tarihi__)); } function rapor_Son($teslimgunsayisi) { $bugun = date("Y-m-d"); $ccc = 0; $teslimgunsay = 0; for ($a = 1; $a <= 20; $a++) { if ($teslimgunsay < $teslimgunsayisi) { $ccc++; $gunn = time() + ($ccc * 86400); $talep_tarihi__ = date("Y-m-d", $gunn); $haftaningunu = date("N", strtotime($talep_tarihi__)); $tar = ($talep_tarihi__); if ($haftaningunu < 6) { $teslimgunsay++; } } } return $rapor_son_tarih = date("d-m-Y", strtotime($talep_tarihi__)); } function teslimgunu_fark_bul($ilk, $son) { // İlk ve son tarihlerin doğru formata dönüştürülmesi $ilk_tarih = formatlitarihsaat_en($ilk); $son_tarih = formatlitarihsaat_en($son); // İlk ve son tarihlerin karşılaştırılması if ($ilk_tarih < $son_tarih) { $n_p = "+"; // İlk tarih son tarihten küçükse, fark pozitif olacak $ilk_gun = strtotime(date("Y-m-d", strtotime($ilk_tarih)) . " 09:00:00"); $son_gun = strtotime(date("Y-m-d", strtotime($son_tarih)) . " 09:00:00"); } elseif ($son_tarih < $ilk_tarih) { $n_p = "-"; // Son tarih ilk tarihten küçükse, fark negatif olacak $ilk_gun = strtotime(date("Y-m-d", strtotime($son_tarih)) . " 09:00:00"); $son_gun = strtotime(date("Y-m-d", strtotime($ilk_tarih)) . " 09:00:00"); } else { return 0; // İki tarih birbirine eşitse, fark 0 olacak } // İki tarih arasındaki gün farkının hesaplanması $gun_farki = abs(($son_gun - $ilk_gun) / (60 * 60 * 24)); // Hafta sonları ve tatil günleri arasındaki farkın hesaplanması $hafta_sonu_tatil_farki = 0; for ($gun = 1; $gun < $gun_farki; $gun++) { $gecerli_tarih = strtotime("+$gun day", $ilk_gun); // İlk tarihten itibaren geçerli tarih $hafta_gunu = date("N", $gecerli_tarih); // Geçerli tarihin haftanın günü // Hafta sonu veya tatil günü kontrolü if ($hafta_gunu == 6 || $hafta_gunu == 7 || tatilgunumu($gecerli_tarih) == "H") { $hafta_sonu_tatil_farki += 1; // Hafta sonu veya tatil günü ise farkı arttır } } // Toplam farkın hesaplanması $toplam_fark = ($gun_farki - 1) * 8 - $hafta_sonu_tatil_farki; // Pozitif veya negatif işaretin eklenmesi if ($n_p == "-") { $toplam_fark *= -1; // Negatif işaret eklendi } return $toplam_fark; } function tatilgunumu($tar) { global $tatilgunumudur; $tatilgunumu = "E"; $haftaningunu = date("N", $tar) * 1; $tar = date("Y-m-d", $tar); if ($haftaningunu < 6) { $tatilgunumu = "H"; } return $tatilgunumu; } function formatlitarihsaat_en($tarih) { $tarih = (substr($tarih, 0, 20)); $tarih = substr($tarih, 6, 4) . "-" . substr($tarih, 3, 2) . "-" . substr($tarih, 0, 2) . " " . substr($tarih, 11, 2) . ":" . substr($tarih, 14, 2) . ":" . substr($tarih, 17, 2); return $tarih; } $buguntarihsaat = "20240425"; $raporsontarih = "2024030"; echo teslimgunu_fark_bul($buguntarihsaat, $raporsontarih); echo "\n\n"; echo rapor_Son("4"); echo "\n\n"; echo rapor_son_tarih_hesapla("27.04.2024 13:17", 2);
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
8 14-05-2024 27.04.2024 13:17 haftanın günü: 1 haftanın günü tarih: 2024-04-29 haftanın günü: 2 haftanın günü tarih: 2024-04-30 30.04.2024 00:00:01

preferences:
65.03 ms | 402 KiB | 62 Q