• 17-09-2023, 23:21:06
    #1
    About

    Günümüzde bir çok sosyal medyada gönderi yüklendiginde herhangi dosya paylaşıldıgında 5 saniye önce 10 dakika önce 1 saat önce gibi post ustunde belirtilen saat bilgisini için kullanılan fonksiyon

    SAAT FARKI :

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHP İLE SAAT FARKI HESAPLATMASI</title>
    </head>
    <body>


    <!-- fonksiyonu kullanmak istediginiz yerde veritabanından gelen tarih saat bilgisini yazdırabilir yada manuel olarak ekleyebilirsiniz -->


    Bu Gönderi <?php echo saat_farki("2023-07-11 01:57:33","saat_farki"); ?> Önce Yüklendi



    </body>
    </html>



    <?php


    function saat_farki( $saat,$tip ) {
    date_default_timezone_get( 'Europe/İstanbul' );
    $şuanki_saat = time();
    $gelen_saat = strtotime( $saat );
    $fark = $şuanki_saat - $gelen_saat;
    $dakika = $fark / 60;
    $saniye_farki = floor( $fark - ( floor( $dakika ) * 60 ) );

    $saat = $dakika / 60;
    $dakika_farki = floor( $dakika - ( floor( $saat ) * 60 ) );

    $gun = $saat / 24;
    $saat_farki = floor( $saat - ( floor( $gun ) * 24 ) );

    $yil = floor( $gun/365 );
    $gun_farki = floor( $gun - ( floor( $yil ) * 365 ) );

    $array = array(
    'yil_farki' => $yil,
    'gun_farki' => $gun_farki,
    'saat_farki' => $saat_farki,
    'dakika_farki' => $dakika_farki,
    'saniye_farki' => $saniye_farki
    );

    return $array[$tip];

    }



    ?>


    TARİH FARKI :


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>PHP İLE TARİH HESAPLAMASI</title>
    </head>
    <body>



    <!-- Fonksiyona kampanya bitiş tarihini vermemiz yeterli olucaktır fonksiyon kampanya bitiş tarihi ile gunumuzdeki tarihi alır kampanya bitiş
    süresini hesaplar ve bitmiş yada devam ediyor cıktıısnı basar -->


    <b>Kampanya Durumunuz : <?php echo dateCalculate("2023/05/12"); ?></b>


    </body>
    </html>



    <?php
    function dateCalculate($t) {
    $bugun = new DateTime();
    $kalan = DateTime::createFromFormat('Y-m-d', $t);

    if ($kalan < $bugun) {
    echo 'Süreniz Dolmuştur';
    } else {
    $interval = $bugun->diff($kalan);

    $kalan_yil = $interval->format('%y');
    $kalan_ay = $interval->format('%m');
    $kalan_gun = $interval->format('%d');

    $haftanin_gunleri = [
    1 => 'Pazartesi',
    2 => 'Salı',
    3 => 'Çarşamba',
    4 => 'Perşembe',
    5 => 'Cuma',
    6 => 'Cumartesi',
    7 => 'Pazar',
    ];

    $hangi_gun = $haftanin_gunleri[$kalan->format('N')];

    echo "Süreniz Geçerlidir. Kalan süre: $kalan_yil yıl, $kalan_ay ay, $kalan_gun gün. Son kullanma tarihi: $hangi_gun";
    }
    }



    ?>
  • 26-09-2023, 23:30:14
    #2
    Kodunuz çalışmıyor hazır gelmişken çalışan bir örnek bırakalım;

    <?php
    function get_time($datetime, $before = true) {
      if ( ! preg_match('/^([0-9]+)$/i', (string) $datetime)) {
        $datetime = strtotime($datetime);
      }
    
      $diff = time() - $datetime;
    
      $text = ' önce';
      if (!$before)
        $text = '';
    
      if ($diff <= 0)
        return 'Şimdi';
      else if ($diff < 60)
        return floor($diff) . ' sn' . $text;
      else if ($diff < 60*60)
        return floor($diff/60) . ' dk' . $text;
      else if ($diff < 60*60*24)
        return floor($diff/(60*60)) . ' saat' . $text;
      else if ($diff < 60*60*24*30)
        return floor($diff/(60*60*24)) . ' gün' . $text;
      else if ($diff < 60*60*24*30*12)
        return floor($diff/(60*60*24*30)) . ' ay' . $text;
      else
        return floor($diff/(60*60*24*30*12)) . ' yıl' . $text;
    }
    ?>
    Bu Gönderi <strong><?php echo get_time("2023-07-11 01:57:33"); ?></strong> Yüklendi
  • 01-10-2023, 06:34:16
    #3
    QuarkChain adlı üyeden alıntı: mesajı görüntüle
    Kodunuz çalışmıyor hazır gelmişken çalışan bir örnek bırakalım;

    <?php
    function get_time($datetime, $before = true) {
      if ( ! preg_match('/^([0-9]+)$/i', (string) $datetime)) {
        $datetime = strtotime($datetime);
      }
    
      $diff = time() - $datetime;
    
      $text = ' önce';
      if (!$before)
        $text = '';
    
      if ($diff <= 0)
        return 'Şimdi';
      else if ($diff < 60)
        return floor($diff) . ' sn' . $text;
      else if ($diff < 60*60)
        return floor($diff/60) . ' dk' . $text;
      else if ($diff < 60*60*24)
        return floor($diff/(60*60)) . ' saat' . $text;
      else if ($diff < 60*60*24*30)
        return floor($diff/(60*60*24)) . ' gün' . $text;
      else if ($diff < 60*60*24*30*12)
        return floor($diff/(60*60*24*30)) . ' ay' . $text;
      else
        return floor($diff/(60*60*24*30*12)) . ' yıl' . $text;
    }
    ?>
    Bu Gönderi <strong><?php echo get_time("2023-07-11 01:57:33"); ?></strong> Yüklendi
    kodu sorunsuz kullanıyorum isterseniz githubdaki örneginede bakabilirsiniz https://github.com/bubarses/Php-ile-Tarih-Hesaplamasi
  • 01-10-2023, 12:50:35
    #4
    Selam verdiğiniz github örneği farklı bir konu.
    Yalnız PHP'ye yeni başlayan biri için buda çalışmıyor olacak
    Çünkü gerçekten tarih formatı yanlış olduğu içinde bu örnekte çalışmıyor