PHP'de tarih formatlama işi. İsteyen uzun tarih yazdırsın, isteyen de kısa...



2 dakikalık okuma
August 15, 2017

PHP’de bir proje geliştirirken projenin ortasında en çok ihtiyaç duyduğum şeylerden biri bu tarih formatlamada kullanılan harflerin karşılıklarıdır. Her seferinde de hangi harfin neyi temsil ettiğini unutuyorum ve araştırmak için hep Google’ın karşısına geçiyorum. Bu da 5-10 dakika zaman israfı demek. Sadece bu da değil; dikkat dağılması demek. Asıl odaklanacağın şeyden kısa süreli sapma demek… Sen listeyi uzat…

Bu işi burada yazıya geçerek çözmeyi düşünüyorum. Başkalarının yolu da düşerse, eyvallah. İstifade etsinler.

Tarih formatlama işini bir defa öğrenirseniz tüm Linux sistemlerde bu format standardı aynıdır.

Sadede gelelim. Formatlama işlemini PHP’de bildiğiniz gibi şöyle yapıyoruz:

date('Y-m-d H:i:s');
//çıktı: 2017-08-15 23:54:22

İşte burada kullandığımız “Y”, “m” gibi harflerin temsil ettiği bir karşılığı var. Tam da bu noktada benim sıkıntım başlıyor. Kardeşim bu karşılıklar neler ?

Şimdi güzelce burada bu formatlama işlemini ve harf karşılıklarını liste olarak vereyim:

  • l -> (küçük L) Tuesday gibi çıktı veriyor ve günü temsil ediyor.
  • F -> March gibi çıktı veriyor ve ayı temsil ediyor.
  • M -> Apr gibi kısaltılmış(April) tarih çıktısı veriyor ve ayı temsil ediyor.
  • Y -> 2017 gibi çıktı veriyor ve yılı temsil ediyor.
  • j -> 02 gibi çıktı veriyor ve günü temsil ediyor. Dikkat edin 02,05,10…
  • d -> 2 gibi çıktı veriyor ve günü temsil ediyor; ama sıfır yok.
  • m -> 08 gibi çıktı veriyor ve ayı temsil ediyor.
  • jS -> 24th gibi çıktı veriyor ve günü temsil ediyor.
//Örnek:
date ('d F Y, l');  // 15 August 2017, Tuesday
date ('F jS l, Y'); // August 15th Tuesday, 2017
  • H -> 0..24 aralığında saat çıktısı verir. Yani 23 gibi.
  • h -> 0..12 aralığında saat çıktısı verir.
  • i -> 12 gibi dakika çıktısı verir.
  • s -> 10 gibi saniye çıktısı verir.
  • A -> saate “am” “pm” ibaresini ekler.
//Örnek:
date('H:i:s');  // 23:12:10
date ('h:i:s A'); // 11:12:10 PM
date('Y-m-d H:i:s'); // 2017-08-15 23:12:10

Etiketler: