• 07-04-2020, 22:10:28
    #1
    Merhaba, şuan ve belirlenen iki tarih arasını kontrol ederek bir kampana mesajı vermeye çalışıyorum.

    Araştırırken aşağıdaki kodları buldum tam istediğim gibi çalışıyor yalnız saat kısmını da eklediğimde hata alıyorum saat bilgisi ile nasıl bir yol izleyebilirim?

    <?php
    
    function TarihFarkBul($tarih1,$tarih2,$ayrac){
    list($g1,$a1,$y1) = explode($ayrac,$tarih1);
    list($g2,$a2,$y2) = explode($ayrac,$tarih2);
    $t1_timestamp = mktime('0','0','0',$a1,$g1,$y1);
    $t2_timestamp = mktime('0','0','0',$a2,$g2,$y2);
    if ($t1_timestamp > $t2_timestamp){
    $result = ($t1_timestamp - $t2_timestamp) / 86400;
    }else if ($t2_timestamp > $t1_timestamp){
    $result = ($t2_timestamp - $t1_timestamp) / 86400;
    }
    return $result;
    }
    
    function tarihkarsilastir($ilk_tarih,$son_tarih){
    $ilk = strtotime($ilk_tarih);
    $son = strtotime($son_tarih);
    if ($ilk-$son > 0){
    return 1;
    }else{
    return 0;
    }
    }
    
    $bugun = date('d.m.Y');
    // bugün değişkeni date("d.m.Y h:i:s"); olmalı
    
    $yenitarih = "08.04.2020";
    // yenitarih degiskeni "08.04.2020 12:28:35"; olmalı
    
    if(tarihkarsilastir($yenitarih,$bugun)){
    $fark = TarihFarkBul($yenitarih,$bugun,".")." Gün Kaldı!";
    }else{
    $fark="Size Sunulan Kampanyanın Süresi Bitmiştir. <br>Lütfen Müşteri Temsilciniz ile iletişime geçin.";
    }
    echo "Size Sunulan Kampanyanın bitimine ".$fark;
    ?>
  • 08-04-2020, 00:55:14
    #2
    Kurumsal Üye
    https://stackoverflow.com/questions/...ntdown-to-date buradan bakabilirsiniz.

    Örnek Kod:
    $date = strtotime("April 7, 2020 2:00 PM"); // Bitiş Tarihi
    $remaining = $date - time();
    
    $days_remaining = floor($remaining / 86400);
    $hours_remaining = floor(($remaining % 86400) / 3600);
    
    
    if($days_remaining <= 0 && $hours_remaining <= 0){
        echo "Kampanya Bitti";
    } else {
        echo "Kampanyanın bitmesine " . $days_remaining . " gün " . $hours_remaining . " saat kaldı.";
    }
  • 08-04-2020, 01:47:03
    #3
    Bu şekilde güncelledim şuan sadece $fark ile ekrana yazma kısmını düzenlemem kaldı.

    function KampanyaTarihFark($GuncelTarih,$KampanyaTarih){
        $result=strtotime($GuncelTarih)-strtotime($KampanyaTarih);
        return $result;
    }
    
    function KampanyaTarihKarsilastir($tarihBaslangic,$tarihBitis){
        $baslangic = strtotime($tarihBaslangic);
        $bitis = strtotime($tarihBitis);
        if ($baslangic-$bitis > 0){
            return 1;
        }else{
            return 0;
        }
    }
    
    date_default_timezone_set("Europe/Istanbul");
    $bugun = date("d.m.Y H:i:s");
    $KampanyaTarihi = "10.04.2020 00:27:00";
    
    if(KampanyaTarihKarsilastir($KampanyaTarihi,$bugun)){
        $fark = KampanyaTarihFark($KampanyaTarihi,$bugun,".")." Gün Kaldı!";
    }else{
        $fark="Size Sunulan Kampanyanın Süresi Bitmiştir. <br>Lütfen Müşteri Temsilciniz ile iletişime geçin.";
    }
        
    echo "Size Sunulan Kampanyanın bitimine ".$fark;