• 15-10-2019, 23:44:58
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba php'de en basit şekilde iki tarih arasındaki gün farkını ekrana yansıtmak istiyorum. Timestamp ile nasıl yapılıyor bilmiyorum. Yardımcı olur musunuz?

    // Edit hallettim.
    Çözümü benim gibi yeni başlayan arkadaşlar için önemli olabilir.

    <?php date_default_timezone_set("Europe/Istanbul");
    $baslangic="09.10.2019";
    $baslangicstr=strtotime($baslangic);
    $bugun=time();
    $datediff= $bugun-$baslangicstr;
    echo round($datediff / (60 * 60 * 24));?>. Gün
  • 15-10-2019, 23:48:14
    #2
    Üyeliği durduruldu
    1. $tarih1 = "2019-09-14";
    2. $tarih2 = "2019-09-16";
    3. $diff = abs(strtotime($tarih2) - strtotime($tarih1));
    4. $yil = floor($diff / (365*60*60*24));
    5. $ay = floor(($diff - $yil * 365*60*60*24) / (30*60*60*24));
    6. $gun = floor(($diff - $yil * 365*60*60*24 - $ay*30*60*60*24)/ (60*60*24));
    7. printf("%d yıl, %d ay, %d gunn", $yil, $ay, $gun);
    Bunu dener misin...
  • 15-10-2019, 23:48:40
    #3
    2 tarihi de unix zamana çevir, birbirinden çıkar aradaki farkı saniye olarak bulmuş olacaksın.

    Fark / 60 * 60 * 24 de sana gün farkını verecek.
  • 15-10-2019, 23:50:52
    #4
    $fark=$tarih1-$tarih2;
    echo ceil($fark/86400);
  • 15-10-2019, 23:51:38
    #5
    XocTaiL adlı üyeden alıntı: mesajı görüntüle
    1. $tarih1 = "2019-09-14";
    2. $tarih2 = "2019-09-16";
    3. $diff = abs(strtotime($tarih2) - strtotime($tarih1));
    4. $yil = floor($diff / (365*60*60*24));
    5. $ay = floor(($diff - $yil * 365*60*60*24) / (30*60*60*24));
    6. $gun = floor(($diff - $yil * 365*60*60*24 - $ay*30*60*60*24)/ (60*60*24));
    7. printf("%d yıl, %d ay, %d gunn", $yil, $ay, $gun);
    Bunu dener misin...
    hocam yapmak istediğim şu:
    Tarih 1: 10.10.2019
    Tarih 2: Şuanki tarih
    Site ...... gündür açık gibi hocam. Bu timestamp ile tam doğru şekilde yapılıyordu.
  • 15-10-2019, 23:54:10
    #6
    Üyeliği durduruldu
    AmiralBey adlı üyeden alıntı: mesajı görüntüle
    hocam yapmak istediğim şu:
    Site ...... gündür açık gibi hocam. Bu timestamp ile tam doğru şekilde yapılıyordu.
    bunu yapmak için timeConvert diye bir fonksiyon yazabilirsin.. yazamaz iseniz pm ile atayım size
  • 15-10-2019, 23:57:58
    #7
    <?php
    $datetime1 = date_create('2009-10-11');
    $datetime2 = date_create('2009-10-13');
    $interval = date_diff($datetime1, $datetime2);
    echo $interval->format('%R%a days');
    ?>
    bu örnek üzerinden gidebilirsin.
    datediff araştır.
  • 16-10-2019, 00:02:56
    #8
    Üyeliği durduruldu
    Arkdaşın yapmak istedği şey aslında anlattığından daha basit. Ama daha sade düşünmesi gerekiyor..

    Veri tabanından Tek bir gün verisi çekerek fonksiyondan geçirerek istediği veriye ulaşabilir.(Fonksiyonu ö.m ile yolladım)

    timeConvert($gelenVeri);

    echo : 3 gün önce açıldı yada 3 gündür açık gibi
  • 16-10-2019, 01:24:16
    #9
    Yararlanmak isteyen arkadaşlar olabilir diye nasıl çözdüğümü göstereyim.

    <?php 
    date_default_timezone_set("Europe/Istanbul");
    $baslangic="09.10.2019";
    $baslangicstr=strtotime($baslangic);
    $bugun=time();
    $datediff= $bugun-$baslangicstr;
    echo round($datediff / (60 * 60 * 24));?>. Gün