• 01-11-2009, 23:02:19
    #1
    Üyeliği durduruldu
    Merhaba sayın php severler,

    Şöyle değişik bir sorum olacak. Ben veritabanımda tarih bilgilerini YYYY-AA-GG şeklinde saklıyorum. Bazen bu tarihler arasında karşılaştırmak yapmak zorunda kalıyorum. Mesela

    Başlangıç Tarihi 2009-10-25
    Bitiş tarihi : 2009-11-01

    olcak bunların arasında kaç gün olduğunu bulmak istiyorum. Ama veritabanından bu verileri bu şekilde çekicem işlemleri dosyada yapacam. Nasıl yapılabilir bu ?
  • 01-11-2009, 23:35:19
    #2
    Üyeliği durduruldu
    Raiden üstad in blogunda örnek yazi vardi;
    http://www.ysfkc.com/php/iki-tarih-a...ni-bulmak.html

    aynı mantıkla php ile tarih farkını hesaplayabilirsiniz
  • 02-11-2009, 02:56:26
    #3
    kendiniz yollar da üretebilirsiniz.. mesela ilk 4 karakteri alıp yıl farkını bulursunuz sonra 6. ve 7. karakterleri alıp ayı, 9 ve 10 u alıp günü gibi.. hazır kodlardan çok kendiniz üretmeye çalışırsanız üretkenliğiniz artacaktır. öneri tabi.. illaki bu konuda çalışmalar vardır.
  • 02-11-2009, 03:06:08
    #4
    substr fonksiyonuyla biraz uğraşarak bu işi halledebilirsin en basit yollusundan
  • 02-11-2009, 05:40:19
    #5
    elitgenclik adlı üyeden alıntı: mesajı görüntüle
    Merhaba sayın php severler,

    Şöyle değişik bir sorum olacak. Ben veritabanımda tarih bilgilerini YYYY-AA-GG şeklinde saklıyorum. Bazen bu tarihler arasında karşılaştırmak yapmak zorunda kalıyorum. Mesela

    Başlangıç Tarihi 2009-10-25
    Bitiş tarihi : 2009-11-01

    olcak bunların arasında kaç gün olduğunu bulmak istiyorum. Ama veritabanından bu verileri bu şekilde çekicem işlemleri dosyada yapacam. Nasıl yapılabilir bu ?
    PHPde en pis iş belkide tarihlerle uğraşmaktır, aşağıdaki kod veritabanından çektiğin iki tarih arasındaki gun farkını verir biraz geç oldu heralde ama neyse umarım işini görür,

    <?php
    include("baglan.php");
    include("baglanti.php");
    
    $kayit=mysql_query("select tarih1, tarih2 from tablo");
    while($kayitlar1 = mysql_fetch_array($kayit)){
    $tarih1=$kayitlar1['tarih1'];
    $tarih2=$kayitlar1['tarih2'];
    }
    
    echo $tarih1;
    echo '<br>';
    echo $tarih2;
    echo '<br>';
    
    list($yil,$ay,$gun) = split("[-.\/]",$tarih1);
    list($yil1,$ay1,$gun1) = split("[-.\/]",$tarih2);
    
    $tarih1 = mktime($yil,$ay,$gun);
    
    $tarih2 = mktime($yil1,$ay1,$gun1);
    
    $fark = ($tarih2-$tarih1);
    
    echo fark . $fark . gun ;
    ?>
    eğer veritabanından değilde eldeki iki tarih arasında fark arıyorsan, bu kod işini görecektir,
    <?php
    
    $simdi=date("Ymd");
    $yenitarih  = date("Ymd", mktime($yil,$ay,$gun+172800));
    
    
    $fark = ($yenitarih-$simdi);
    
    echo $simdi;
    echo '<br>';
    echo $yenitarih;
    echo '<br>';
    echo $fark;
    ?>
    ikinci örneği tarih farklarını hesaplamadaki temel mantığı görmen için verdim, ben bu örnekde şimdiki tarih ve şimdiki tarihe iki gün ekleyerek yeni bir tarih olşturuyorum ve bu ikisi arasındaki gun farkını buluyorum, nerde kullanacağına bağlı olarak üzerinde değişiklikler yapmak sana kalıyor artık, mktime fonksiyonuna biraz ağırlık verirsen bu tip kodların üstesinden gelebilirsin,
    kolay gelsin
  • 02-11-2009, 17:12:10
    #6
    Üyeliği durduruldu
    Tüm cevaplar için çok teşekkürler, sanırım artık kendimde becerebilirim