• 16-11-2017, 13:52:08
    #1
    Merhaba Arkadaşlar
    Phpmysql de timestap türünde tarih tablom mevcut. Tarih kayıt edebiliyorum. Türkçe tarih olarak çekmek istedim hazır fonksiyonunu buldum. Saat Gün Ay Yıl formatında çekiyorum. Sıkıntım şu ben sadece Günü çekmek istiyorum Ayı 3 harf olarak çekmek istiyorum. Kullandığım fonksiyon ve kodları paylaşıyorum.
      public static function timeTR($par){
              $explode = explode(" ", $par);
              $explode2 = explode("-", $explode[0]);
              $zaman = substr($explode[1], 0, 5);
            
              if ($explode2[1] == "1") $ay = "Ocak";
              elseif ($explode2[1] == "2") $ay = "Şubat";
              elseif ($explode2[1] == "3") $ay = "Mart";
              elseif ($explode2[1] == "4") $ay = "Nisan";
              elseif ($explode2[1] == "5") $ay = "Mayıs";
              elseif ($explode2[1] == "6") $ay = "Haziran";
              elseif ($explode2[1] == "7") $ay = "Temmuz";
              elseif ($explode2[1] == "8") $ay = "Ağustos";
              elseif ($explode2[1] == "9") $ay = "Eylül";
              elseif ($explode2[1] == "10") $ay = "Ekim";
              elseif ($explode2[1] == "11") $ay = "Kasım";
              elseif ($explode2[1] == "12") $ay = "Aralık";
              return $zaman.", ".$explode2[2]." ".$ay." ".$explode2[0];
          }
      <?php $list = DB::query("SELECT * FROM customer WHERE 1=1 ORDER BY id DESC LIMIT 0,20"); foreach($list as $item){ if($item->status>0){ ?> <div class="baslikziyaret"><h3><?=$item->title;?> / <span style="font-size: 13px;"><?=DB::timeTR($item->tarih );?></span></h3></div> <?php } } ?>
    customer tablosunun içinde tarih sütunum var
    Bu kodlarla şu şekilde çıktı alıyorum.
    11:13, 16 Kasım 2017

    Ben sadece 16 Kas olarak almak istiyorum

    İlgilenen arkadaşlara şimdiden teşekkür ederim.
  • 16-11-2017, 13:57:32
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Yaptığınıza gerek varmı bilmiyorum ama
    <?php
    setlocale(LC_TIME, "turkish");
    echo "Tarih ".strftime("%d %B ");
    
    //Çıktı: Tarih 16 Kasım
    ?>
  • 16-11-2017, 14:04:34
    #3
    etapsoft adlı üyeden alıntı: mesajı görüntüle
    Yaptığınıza gerek varmı bilmiyorum ama
    <?php setlocale(LC_TIME, "turkish"); echo "Tarih ".strftime("%d %B "); //Çıktı: Tarih 16 Kasım ?>
    Veri tabanındaki veriyi almıyor güncel tarihi yazıyor.
    <?=DB::timeTR($item->tarih );?> bu koda nasıl uygulayabilirim
  • 16-11-2017, 14:06:56
    #4
    Ekstra bir işlem yapmana gerek yok bunun için.
    return alanını şu şekilde düzenleyin,
    return $explode2[0]." ".$ay;
    Ay isimlerini 3 harfe indirin istediğiniz sonucu alırsınız zaten.
  • 16-11-2017, 14:09:15
    #5
    chedmade adlı üyeden alıntı: mesajı görüntüle
    Ekstra bir işlem yapmana gerek yok bunun için.
    return alanını şu şekilde düzenleyin,
    return $explode2[0]." ".$ay;
    Ay isimlerini 3 harfe indirin istediğiniz sonucu alırsınız zaten.
    Başka sayfada tam olarak kullanıyorum. etkinlik bölümünde sadece Gün 3 harf Ay şeklinde lazım.
  • 16-11-2017, 14:11:52
    #6
    cagatayturkmen adlı üyeden alıntı: mesajı görüntüle
    Başka sayfada tam olarak kullanıyorum. etkinlik bölümünde sadece Gün 3 harf Ay şeklinde lazım.
    Farklı yerlerde de bu şekilde tarih çekme ihtiyacın olacaktır.
    Yeni bir fonksiyon olustur farklı bir isim ile.
    public static function kisa_timeTR($par){
            $explode = explode(" ", $par);
            $explode2 = explode("-", $explode[0]);
            $zaman = substr($explode[1], 0, 5);
           
            if ($explode2[1] == "1") $ay = "Oca";
            elseif ($explode2[1] == "2") $ay = "Şub";
            elseif ($explode2[1] == "3") $ay = "Mar";
            elseif ($explode2[1] == "4") $ay = "Nis";
            elseif ($explode2[1] == "5") $ay = "May";
            elseif ($explode2[1] == "6") $ay = "Haz";
            elseif ($explode2[1] == "7") $ay = "Tem";
            elseif ($explode2[1] == "8") $ay = "Ağu";
            elseif ($explode2[1] == "9") $ay = "Eyl";
            elseif ($explode2[1] == "10") $ay = "Eki";
            elseif ($explode2[1] == "11") $ay = "Kas";
            elseif ($explode2[1] == "12") $ay = "Ara";
            return $explode2[0]." ".$ay;
        }
    Bu fonksiyonuda o belirttiğin fonksiyonun altına yapıştır.
    Şu şekilde kullan istediğin yerde.
    <?=DB::kisa_timeTR($item->tarih );?>
  • 16-11-2017, 14:12:40
    #7
    <?php
    setlocale(LC_TIME, "turkish");
    echo "Tarih ".strftime("%d %B","dbden gelen Tarih");
    ?>
  • 16-11-2017, 14:22:38
    #8
    Teşekkür ederim fonksiyonu çoğaltarak işimi gördüm. Ama şöyle bir durum vardı. 3 farklı yerlerde div vardı divin tekine sadece günü yazdım diğerine ayı yazım diğerinede yılı yazdım. Bunun çıktısını alabilmek için artık 3 kere daha yeni fonksiyon oluşturdum. Eminim daha kısa yöntemi vardır. Onuda bilmek isterim. İlgilenen arkadaşlarada tekrar teşekkür ederim
  • 16-11-2017, 14:39:14
    #9
    cagatayturkmen adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim fonksiyonu çoğaltarak işimi gördüm. Ama şöyle bir durum vardı. 3 farklı yerlerde div vardı divin tekine sadece günü yazdım diğerine ayı yazım diğerinede yılı yazdım. Bunun çıktısını alabilmek için artık 3 kere daha yeni fonksiyon oluşturdum. Eminim daha kısa yöntemi vardır. Onuda bilmek isterim. İlgilenen arkadaşlarada tekrar teşekkür ederim
    Rica ederiz.
    Gün, ay, yıl ayrı arı almak için 3 ayrı fonksiyon mu oluşturdunuz?
    Tam olarak ne yapmak istediğinizi örnekler ile belirtirseniz yardımcı olurum.