PHP dilinin tarih ve zaman ile ilgili fonksiyonları neredeyse her uygulama için gereklidir..
Bu sayfada yüzeysel ve basitleştirilmiş olarak açıklanmış PHP hakkındaki konular PHP resmi sayfasında örneklerle birlikte çok daha ayrıntılı açıklanmıştır. Bazen ayrıntı iyidir, bazen de basitlik..
Her zaman olması gerektiği gibi hata almamak için PHP sayfasının başlangıç ve bitiş sembol etiketlerine ayrıca iterasyonun yani algoritma adımının sona erdiğini ifade eden noktalı virgüllere (;) dikkat ediyoruz. Betiklerimizde kontrol yapıları ve hatta hata yakalama yöntemlerini kullanmanın yüksek kalite getireceğini hatırlatalım. Tarih ve Zaman işlemlerine ayın kaçı olduğunu bularak başlayacağız..
Ayın kaçıncı gününde olduğumuzu bulmak için date() fonksiyonunu kullanıyoruz.
echo date("d");date() komutunun d parametresi bize günü rakamsal olarak veriyor. PHP '01 ile 31 arasında' değişen bir rakam döndürür. Eğer j parametresini kullanırsak tek basamaklı günlerin sayısını önünde sıfır olmadan '1 ile 31 arasında' döndürür.
Ayın hangi gününde olduğumuzu bulmak için date() fonksiyonunu ile birlikte D parametresini kullanıyoruz.
echo date("D");Kodu çalıştırdığımızda tarayıcıda içinde bulunduğumuz günün İngilizce isminin ilk üç harfi görüntülenir. Örneğin çarşamba günü için WED olacaktır. Eğer WEDNESDAY kelimesinin tamamını göstermesini istiyorsak, küçük L yani l parametresini kullanmalıyız.
echo date("l");N parametresi haftanın kaçıncı gününde bulunduğumuzu gösterir. Pazartesi 1 olarak saymaya başlar ve son olarak Pazar günü için 7 rakamını döndürür.
echo date("N");w parametresi de N parametresine benzer. Ancak Pazar gününe 0 (sıfır) değeri atayıp ardından diğer günler için sırayla ilerler.
echo date("w");Yılın kaçıncı gününde olduğumuzu bulmak için z parametresini kullanırız. z parametresi 0 (sıfırdan) başlayarak yılın günlerini değer vererek sıralar.
echo date("z");Büyük harf ile W parametresi yılın kaçıncı hatasında bulunduğumuzu gösterir.
echo date("W");Büyük harfle F parametresi bulunduğumuz ayın ingilizce isminin tamamını döndürürken, Büyük harfle M parametresi ilk üç harfini döndürür.
echo date("F");echo date("M");Küçük harflerle m ve n parametreleri içinde bulunduğumuz ayın kaçıncı ay olduğunu rakam olarak döndürür. İkisinin arasındaki fark ise m parametresi tek rakamlı ayları başında 0 ile döndürürken, n parametresi başında sıfır olmadan döndürür. Örneğin Şubat ayı n parametresi ile 2 değerini verirken m parametresi ile 02 değerini verir.
echo date("m");echo date("n");Küçük harfle t içinde bulunduğumuz ayın kaç gün olduğunu gösterir. Çıktı olarak 28 ile 31 arasında bir rakam döndürür.
echo date("t");Büyük harfle L parametresi içinde bulunduğumuz yılın artık yıl olup olmadığını bize gösterir. Eğer çıktı olarak 1 rakamı dönerse TRUE yani artık yıldayız, 0 rakamı dönerse FALSE yani artık yılda değiliz demektir. Artık yıl ile ilgili kontrol yapısı kurulabilir.
if (date("L") == "1") {
echo "Artık Yılda Bulunmaktayız";
} else {
echo "Bu Sene Artık Yılda Değiliz";
}Büyük harfle Y parametresi hangi yılda bulunduğumuzu bize 4 basamaklı bir sayı olarak verir. Eğer son iki rakamı elde etmek istersek küçük harfle y parametresini kullanmalıyız.
echo date("Y");echo date("y");Özellikle 24 saatlik olmayan uluslararası ve batı saat formatında öğleden sonra ve öğleden önce kavramları önemlidir. Bir gramer kitabında da bulabileceğimiz bu kavramları PHP de vurguladığı için hatırlatmak istedik. Küçük harfle a parametresi girdiğimizde içinde bulunduğumuz vaktin sıfatını am yada pm çıktılarından birini döndürerek gösterir. Eğer büyük harfle A parametresini kullanırsak çıktı da büyük harfle AM yada PM olacaktır.
echo date("a");echo date("A");PHP'ye saati söyletmek için yine parametreler kullanıyoruz. Büyük harfle G parametresi başında 0 olmaksızın 0 ile 23 arasında bir rakam ile saati gösterir. Küçük harf ile g parametresi başında 0 olmaksızın 1 ile 12 arasındaki bir rakamla saati gösterir.
echo date("g");echo date("G");Büyük harfle H parametresi başında 0 olacak şekilde 00 ile 23 arasında bir rakamla saati gösterir. Küçük harfle h parametresi başında 0 olacak şekilde 01 ile 12 arasında bir rakamla saati gösterir.
echo date("h");echo date("H");PHP'ye dakikayı söyletmek için küçük harfle i parametresi kullanılır. Bu parametrenin çıktısı başında 0 olacak şekilde dakikayı verir.
echo date("i");PHP'ye saniyeyi söyletmek için küçük harfle s parametresi kullanılır. Bu parametrenin çıktısı 00 ile 59 arasındaki bir sayı olarak saniyeyi verir.
echo date("s");Saat farkını bulabilmemiz için O ve P parametrelerini kulanmalıyız. P parametresi PHP'nin yeni sürümlerine ait bir özelliktir. O parametresinin çıktısı GMT+3 için "+0300" şeklinde gösterilir. P parametresinin çıktısı GMT+3 için "+03:00" şeklinde gösterilir.
echo date("O");echo date("P");PHP tarih veya zaman çıktımızı dilediğimiz gibi şekillendirebileceğimiz kadar esnektir. Sayısal olarak tarihi farklı formatlarda elde etmek:
echo date("d m Y");echo date("d-m-Y");echo date("d.m.Y");echo date("d/m/Y");echo "Time : " . date("H:i:s");Ayları Türkçeleştirmek için bir örnek:
$aylar = 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");
echo "Bugünkü Tarih : ";
echo date("j") . "." . $aylar[date("n")] . "." . date("Y");