• 03-09-2009, 08:29:22
    #1
    merhaba arkadaşlar

    veritabanından köşe yazarına ait makalenin tarihi alıyorum. formatı şu şekilde 2009-08-03

    burada yapmak istediğim olay;
    makalenin tarihi bugün, yarın ve bir sonraki gün ise ekrana yeni.gif bastırmak

    yani makalenin eklendiği gün ve sonraki iki gün (toplam 3 gün) yeni.gif çıkacak.

    yaptığım uygulama şu

    $bugun=date("d-m-Y"); 
    
    $yil = substr($tarih,0,4);  // $tarih 2009-08-03 değerini veriyor
    $ay = substr($tarih,5,2); 
    $gun = substr($tarih,8,2); 
    $gun2 = $gun+1;
    $gun3 = $gun+2;
    
    $habertarihi = $gun."-".$ay."-".$yil; 
    $habertarihi2 = $gun2."-".$ay."-".$yil; 
    $habertarihi3 = $gun3."-".$ay."-".$yil; 
    
    
    if($bugun==$habertarihi) { 
    $yeniresim="<img src=\"images/yeni2.gif\" border=\"0\">";
    } else if($bugun==$habertarihi2){
    $yeniresim="<img src=\"images/yeni2.gif\" border=\"0\">";
    } else if($bugun==$habertarihi3){
    $yeniresim="<img src=\"images/yeni2.gif\" border=\"0\">";
    } else { 
    $yeniresim=""; 
    }
    $habertarihi değişkeni makalenin eklendiği tarih bugün ise yen.gif'i çağırıyor burada sorun yok

    tek sorun yarın ve bir sonraki günde yeni.gif çıkmıyor
    burada birde şöyle bir sorun var tarih ayın 30'u olursa yine çalışmayacak

    yarının ve bir sonraki günün tarihini nasıl alabilirim. teşekkürler
  • 03-09-2009, 08:53:14
    #2
    Üyeliği durduruldu
    bu işi mktime ile en iyi yapabilirsiniz. şöyle bir problemle karşılaşıyorsunuzdur. güne 1 ekleyince mesela gün 31 i ise normalde sonraki aya geçmesi gerekirken 32 olur ama ilgisiz bir durum olmuş olur.
    http://us2.php.net/mktime
  • 03-09-2009, 09:15:50
    #3
    biraz uzun gibi sanki ama alttaki gibi yapınca oldu teşekkürler sdemirkeser
    $simdi = date("m-d-Y", mktime(0,0,0,date("m"),date("d"),date("Y")));
    $gecmis1 = date("m-d-Y", mktime(0,0,0,date("m"),date("d")-1,date("Y")));
    $gecmis2 = date("m-d-Y", mktime(0,0,0,date("m"),date("d")-2,date("Y")));
    
    $bugun_gun = substr($simdi,3,2); 
    $bugun_ay = substr($simdi,0,2); 
    $bugun_yil = substr($simdi,6,4); 
    $gununtarihi = $bugun_gun."-".$bugun_ay."-".$bugun_yil;
    
    $dun_gun = substr($gecmis1,3,2); 
    $dun_ay = substr($gecmis1,0,2); 
    $dun_yil = substr($gecmis1,6,4); 
    $dununtarihi = $dun_gun."-".$dun_ay."-".$dun_yil;
    
    $ikigunonce_gun = substr($gecmis2,3,2); 
    $ikigunonce_ay = substr($gecmis2,0,2); 
    $ikigunonce_yil = substr($gecmis2,6,4); 
    $ikigunoncekitarih = $ikigunonce_gun."-".$ikigunonce_ay."-".$ikigunonce_yil;
    
    if($gununtarihi==$makaletarihi) { 
    $yeniresim="<img src=\"themes/muhasebe/images/yeni2.gif\" border=\"0\">";
    } else if($dununtarihi==$makaletarihi){
    $yeniresim="<img src=\"themes/muhasebe/images/yeni2.gif\" border=\"0\">";
    } else if($ikigunoncekitarih==$makaletarihi){
    $yeniresim="<img src=\"themes/muhasebe/images/yeni2.gif\" border=\"0\">";
    } else { 
    $yeniresim=""; 
    }
  • 03-09-2009, 09:39:13
    #4
    benim de tarih ile alakalı bir sorum var. veritabnına datetime olarak kaydettiğim tarihi yazdırıyorum 2009-09-03 09:17:00 böyle yazıyor. Bunu 3 Eylül 2009, 09:17 olarak nasıl yazırabilirim?

    Forumdan bir arkadaşın aşağıdaki gibi bir fonkyonu var ama bu fonksyonda hatalı sonuç veriyor
    function turkcetarih($zaman) { 
    $gunler = array( 
    "Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi" 
    ); 
    
    $aylar =array( 
    NULL, "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık" 
    ); 
    $tarih = date("d",$zaman)." ".$aylar[date("n",$zaman)]." ".date("Y",$zaman)." ".$gunler[date("w",$zaman)]; 
    return $tarih; 
    }
    bu fonksyonun çıktısı sürekli 01 Ocak 1970 Perşembe şeklinde