Çarşamba, 23 Mayıs 2018
Php ile Türkçe Tarih Fonksiyonu Yapımı
Eğitim

Php ile Türkçe Tarih Fonksiyonu Yapımı

Doruk Karaboncuk Doruk Karaboncuk
05 Aralık 2016

Php ile türkçe tarih her zaman gerekli olmuştur. Bazen uzun tarih, bazen kısa tarih işimizi görür.

Php ile türkçe tarih her zaman gerekli olmuştur. Bazen uzun tarih, bazen kısa tarih işimizi görür. Aslında php ile türkçe tarih yapmak çok kolay. Bu yazı da hem php ile türkçe tarih yazmayı hem de php ile tarihleri ne şekillerde yazdıracağımızı anlatacağım. 

Öncelikle mantığına bakacak olursak genel olarak veri tabanına kaydettiğimiz tarih uzun tarih olup Yıl-Ay-Gün Saat:Dakika:Saniye şeklindedir. Yani Y-m-d H:i:s şeklinedir.

Bir fonksiyon yazarak bize tarih ne şekilde gelirse gelsin sonunda istediğimiz şekilde çıkmasını sağlayacağız. Burada yapmamız gereken öncelikle tarih ne şekilde gelirse gelsin onu düzeltebileceğimiz bir şekile sokmak olacaktır.

Php ile türkçe tarih fonksiyonu yazının sonunda kullanacağımız fonksiyon

<?php

function turkceTarih($tarih,$tur)
{
    //Tarihi gün ay yıl şekline getirdik
    //Örnek olarak 17-5-2016 
    
        $tarihyeni = date("d-n-Y",strtotime($tarih));
        
    //Türkçe aylar kısa ve uzun
        $uzun_array = array(
            1=>"Ocak",
            2=>"Şubat",
            3=>"Mart",
            4=>"Nisan",
            5=>"Mayıs",
            6=>"Haziran",
            7=>"Temmuz",
            8=>"Ağustos",
            9=>"Eylül",
            10=>"Ekim",
            11=>"Kasım",
            12=>"Aralık"
            );
            
        $kisa_array = array(
            1=>"Oca",
            2=>"Şub",
            3=>"Mar",
            4=>"Nis",
            5=>"May",
            6=>"Haz",
            7=>"Tem",
            8=>"Ağu",
            9=>"Eyl",
            10=>"Eki",
            11=>"Kas",
            12=>"Ara"
            );
        
    //Tarihi bölümlerine ayır
    
        $tarih_parca = explode("-",$tarihyeni);
        $gun = $tarih_parca[0];
        $ay = $tarih_parca[1];
        $yil = $tarih_parca[2];
        
    //Ay bölümünü türkçe ay arraylerimize koyuyoruz.
    
    if($tur == 1)
    {
        $turkceay = $uzun_array[$ay];
    }elseif($tur == 2)
    {
        $turkceay = $kisa_array[$ay];  
    }else{
        $turkceay = $uzun_array[$ay];
    }
    
    //Son olarak birleştiriyoruz.
    
    $cikti = $gun.' '.$turkceay.' '.$yil;
    
    //Çıktıyı yazdırıyoruz.
    
    return $cikti;
    
}

?>

Fonksiyonumuza isim vererek başlayalım.

<?php

function turkceTarih($tarih)
{
 
}

?>

Fonksiyonumuza dışarıdan tarih değerini alalım

Php ile türkçe tarih yazarken yapmamız gereken öncelikle fonksiyonumuza dışarıdan tarih değerini almamız olacaktır.

Daha sonra aldığımız değeri bize uygun olan tarih formatına çevirelim. Tarihin ay bölümünü bir array yapmak istediğimiz için ay kısmını 1-12 şeklinde almamız gerekiyor.

Gelen değeri Gün – Ay – Yıl şeklinde çevirelim.

<?php

function turkceTarih($tarih)
{
    //Tarihi gün ay yıl şekline getirdik
    
    //Örnek olarak 17-5-2016 
    
    $tarihyeni = date("d-n-Y",strtotime($tarih));
}
?>

Artık elimizde döndürebileceğimiz bir değer var. Türkçe tarih için fonksiyonumuz içinde ayları bir array haline getiriyoruz.

Türkçe tarih arrayleri oluşturalım

<?php

function turkceTarih($tarih)
{
    //Tarihi gün ay yıl şekline getirdik
    
    //Örnek olarak 17-5-2016 
    
    $tarihyeni = date("d-n-Y",strtotime($tarih));
    
    $uzun_array = array(
        1=>"Ocak",
        2=>"Şubat",
        3=>"Mart",
        4=>"Nisan",
        5=>"Mayıs",
        6=>"Haziran",
        7=>"Temmuz",
        8=>"Ağustos",
        9=>"Eylül",
        10=>"Ekim",
        11=>"Kasım",
        12=>"Aralık"
        );
        
    $kisa_array = array(
        1=>"Oca",
        2=>"Şub",
        3=>"Mar",
        4=>"Nis",
        5=>"May",
        6=>"Haz",
        7=>"Tem",
        8=>"Ağu",
        9=>"Eyl",
        10=>"Eki",
        11=>"Kas",
        12=>"Ara"
        );
 
}

Hem kısa tarih için hem uzun tarih için bir array ekledik. Artık Gün-ay-yıl şeklinde aldığımız tarihlerimizi birbirinden ayırmamız gerekiyor. Bunun için de explode() fonksiyonunu kullanmamız gerekiyor. Explode fonksiyonu belirli bir değeri bulup o bölümlerden birbirine parçalar ve bize array olarak geri dönüş sağlar. Biz yukarıda – kullandığımız için tarihi de o aralardan bölmemiz gerekiyor.

<?php

function turkceTarih($tarih)
{
    //Tarihi gün ay yıl şekline getirdik
    
    //Örnek olarak 17-5-2016 
    
    $tarihyeni = date("d-n-Y",strtotime($tarih));
    
    $uzun_array = array(
        1=>"Ocak",
        2=>"Şubat",
        3=>"Mart",
        4=>"Nisan",
        5=>"Mayıs",
        6=>"Haziran",
        7=>"Temmuz",
        8=>"Ağustos",
        9=>"Eylül",
        10=>"Ekim",
        11=>"Kasım",
        12=>"Aralık"
        );
        
    $kisa_array = array(
        1=>"Oca",
        2=>"Şub",
        3=>"Mar",
        4=>"Nis",
        5=>"May",
        6=>"Haz",
        7=>"Tem",
        8=>"Ağu",
        9=>"Eyl",
        10=>"Eki",
        11=>"Kas",
        12=>"Ara"
        );
        
    //Tarihi bölümlerine ayır
    
    $tarih_parca = explode("-",$tarihyeni);    
 
}

?>

Artık tarihi böldük yukarıdaki işlemde gelen tarih 2016-05-11 21:34:58 olsun. Bir veritabanından çekmiş gibi yapalım.

Biz öncelikle onu 11-5-2016 haline getirdik ve explode() fonksiyonu ile – bölümlerinden ayırdık. Bizim elimizde şu an tarih_parca değişkeni ile 3 ayrı bölümümüz var.

Bunlar;
$tarih_parca[0] = 11
$tarih_parca[1] = 5
$tarih_parca[2] = 2016

Gün ve yılda bir değişiklik yapmadan ay bölümünü uzun veya kısa tarih aralıklardan birine atarak türkçe tarihimizi oluşturabiliriz.

İlk örnekte uzun olanı yazıyorum.

<?php

function turkceTarih($tarih)
{
    //Tarihi gün ay yıl şekline getirdik
    
    //Örnek olarak 17-5-2016 
    
    $tarihyeni = date("d-n-Y",strtotime($tarih));
    
    $uzun_array = array(
        1=>"Ocak",
        2=>"Şubat",
        3=>"Mart",
        4=>"Nisan",
        5=>"Mayıs",
        6=>"Haziran",
        7=>"Temmuz",
        8=>"Ağustos",
        9=>"Eylül",
        10=>"Ekim",
        11=>"Kasım",
        12=>"Aralık"
        );
        
    $kisa_array = array(
        1=>"Oca",
        2=>"Şub",
        3=>"Mar",
        4=>"Nis",
        5=>"May",
        6=>"Haz",
        7=>"Tem",
        8=>"Ağu",
        9=>"Eyl",
        10=>"Eki",
        11=>"Kas",
        12=>"Ara"
        );
    //Tarihi bölümlerine ayır
    $tarih_parca = explode("-",$tarihyeni);
    
    $gun = $tarih_parca[0];
    $ay = $tarih_parca[1];
    $yil = $tarih_parca[2];
    
    //Ay bölümünü türkçe ay arraylerimize koyuyoruz.
    
    $turkceay = $uzun_array[$ay];
    
    //Son olarak birleştiriyoruz.
    
    $cikti = $gun.' '.$turkceay.' '.$yil;
    
    //Çıktıyı yazdırıyoruz.
    
    return $cikti;
}

?>

Fonksiyonu bu şekilde kullanabilirsiniz.

<?php

    //Bugünün tarihini yazdıralım.
    
    echo turkceTarih(date("Y-m-d"));
    
?>

Bu fonksiyonu yazdığınızda bugünün tarihini türkçe olarak yazacaktır.

Fonksiyonu biraz daha komplike hale getirelim.

Yukarıdaki fonksiyona bir değişken daha ekleyip fonksiyon üzerinden kısa tarih mi yoksa uzun tarih mi onu seçtirtelim.

<?php

function turkceTarih($tarih,$tur)
{
    //Tarihi gün ay yıl şekline getirdik
    
    //Örnek olarak 17-5-2016 
    
    $tarihyeni = date("d-n-Y",strtotime($tarih));
    
    //Türkçe aylar kısa ve uzun
    
    $uzun_array = array(
        1=>"Ocak",
        2=>"Şubat",
        3=>"Mart",
        4=>"Nisan",
        5=>"Mayıs",
        6=>"Haziran",
        7=>"Temmuz",
        8=>"Ağustos",
        9=>"Eylül",
        10=>"Ekim",
        11=>"Kasım",
        12=>"Aralık");
        
    $kisa_array = array(
        1=>"Oca",
        2=>"Şub",
        3=>"Mar",
        4=>"Nis",
        5=>"May",
        6=>"Haz",
        7=>"Tem",
        8=>"Ağu",
        9=>"Eyl",
        10=>"Eki",
        11=>"Kas",
        12=>"Ara"
        );
        
    //Tarihi bölümlerine ayır
    
    $tarih_parca = explode("-",$tarihyeni);
    
    $gun = $tarih_parca[0];
    $ay = $tarih_parca[1];
    $yil = $tarih_parca[2];
    
    //Ay bölümünü türkçe ay arraylerimize koyuyoruz.
    
    if($tur == 1)
    {
        $turkceay = $uzun_array[$ay];
    }elseif($tur == 2)
    {
        $turkceay = $kisa_array[$ay];  
    }else{
        $turkceay = $uzun_array[$ay];
    }
    
    //Son olarak birleştiriyoruz.
    
    $cikti = $gun.' '.$turkceay.' '.$yil;
    
    //Çıktıyı yazdırıyoruz.
    
    return $cikti;
}

?>

Yukarıda fonksiyonumuza “tur” değişkeni ekledik. Fonksiyon içerisinde de eğer gelen tür 1 ise uzun tarihi yazdır 2 ise kısa tarih yazdır komutunu verdik. Eğer değer almadıysa yine uzun yazdır olarak düzenledik. Yine php ile türkçe tarih fonksiyonumuzu kullanırken mevcut yapıda 11 Mayıs 2016 gibi bir tarih çıkartacaktır. 11-Mayıs-2016 gibi yazılmasını istiyorsanız $cikti bolumunu düzenleyebilirsiniz.

Örnek olarak

<?php

$cikti = $gun.'-'.$turkceay.'-'.$yil;

?>

Aralarına istediğinizi yazabilirsiniz, ekleyebilirsiniz veya çıkartabilirsiniz.

Php date fonksiyonunda kullanılan tarih bölümlerinin değerlerini php’nin kendi sitesinden buraya tıklayarak görebilirsiniz.

Aklınızda kalan sorular için yorum bırakabilirsiniz. Yazıyı beğendiyseniz paylaşmayı unutmayın.

Emoji ile Tepki Ver

3
0
1
1
0
0

Yorumlar

Registration Login
Sign in with social account
or
Lost your Password?
Registration Login
Sign in with social account
or
A password will be send on your post
Registration Login
Registration