<?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)
{
global $tatilgunumudur;
$ilk = formatlitarihsaat_en($ilk);
$son = formatlitarihsaat_en($son);
if ($ilk < $son) {
$ilk_ = date("d/m/Y", strtotime($ilk)) . " 09:00:00";
$son_ = date("d/m/Y", strtotime($son)) . " 09:00:00";
$n_p = "+";
} elseif ($son < $ilk) {
$ilk_ = date("d/m/Y", strtotime($son)) . " 09:00:00";
$son_ = date("d/m/Y", strtotime($ilk)) . " 09:00:00";
$n_p = "-";
} else {
return 0; // Aynı günse fark sıfırdır
}
$ilk_time = strtotime($ilk_);
$son_time = strtotime($son_);
$ilk_gun = date("Ymd", $ilk_time);
$son_gun = date("Ymd", $son_time);
$gunfarki = round(($son_time - $ilk_time) / (86400)); // Gün farkını doğrudan hesaplayabiliriz
if ($gunfarki == 0) {
return 0; // Aynı günse fark sıfırdır
} else {
$ilk_gun_gece = strtotime(date("Y-m-d", $ilk_time) . " 18:00:00") - $ilk_time;
$son_gun_sabah = $son_time - strtotime(date("Y-m-d", $son_time) . " 09:00:00");
$arada_gecensure = 0;
for ($gun = 1; $gun < $gunfarki; $gun++) {
$once_date_ = mktime(0, 0, 0, date("m", $ilk_time), date("d", $ilk_time) + $gun, date("Y", $ilk_time));
$tatilgunumu = tatilgunumu($once_date_);
if ($tatilgunumu != "E") {
$arada_gecensure += 28800; // 8 saat ekleyelim
}
}
$gecensure = $arada_gecensure + $ilk_gun_gece + $son_gun_sabah;
}
$kalangun = round(($gecensure - 0.001) / 3600 / 8); // 8 saate bölerek gün sayısını bulalım
if ($n_p == "-") {
$kalangun *= -1;
}
return $kalangun;
}
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 = "20240426";
$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
- 0
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:
53.71 ms | 402 KiB | 62 Q