Tarih ve saat Verisi

PHP,
o andaki zaman bilgisini, saat, dakika, saniye ve  salise olarak; tarih
bilgisini yıl, ay, gün (sayı veya isim olarak), programımızın herhangi
bir yerinde bize bildirebilir. Bu bilgiyi Web sunucusunda istediğimiz
anda, muhtemelen sunucunun bulunduğu bilgisayarın sistem saatinden
alacak olan PHP, sunucu programında farklı bölgesel ayarlar için
gerekli düzenleme yapılmışsa, bu imkandan yararlanarak bize sunucunun
değil, arzu ettiğimiz bölgenin saat ve tarihini bildirebilir.

Özellikle
Türkiye”de olmayan bir sunucuda bu imkanın bulunup bulunmadığını, ancak
sınayarak veya sistem yöneticisine sorarak öğrenebiliriz. Böylebir
sıNama için şu kodları programınızın başına koyun:

<?php
setlocale (”LC_TIME”, “TR”);
print (strftime (”Türkçe bugün günlerden: %A “));
?>

Browser
penceresinde “Türkçe bugün günlerden Sunday” yazısını okursanız,
sunucuda Türkçe için bölgesel ayar desteği yok demektir!

PHP”nin zaman ve tarih belirlemekte kullanabileceğiniz başlıca fonksiyonu getdate() ise şöyle kullanılır.

getdate() 
Tarih ve saat bilgisini alır ve ve vereceğiniz bir isimdeki dizi-değişkende kaydeder.

Örnek:
 
$saat_tarih = getdate();

 Bu durumda, $saat_tarih dizi değişkeninde sırasıyla şu bilgiler yer alır:

 32             saniye
 57             dakika
 6               saat
 30             ayın gün sayısı (1-31)
 0               haftanın gün sayısı (1-7)
 7               ayın sayısı (1-12)
 2000          yıl
 211            yılın kaçıncı günü
 Sunday       günün adı
 July            ayın adı
 964929452  Unix sistemlerinde Epoch biçiminde zaman bilgisi

 PHP”nin
tarih ve saat bilgisini biçimlendirmede yararlandığımız date()
fonksiyonunu daha sonra metin biçimlerdirme bölümünde ele alacağız.

Tarih ve Saat Düzenleme

PHP”nin
tarih ve zaman bilgisini kullanmamızı sağlayan getdate() fonksiyonunun
yanı sıra, elde ettiğimiz bilgileri çok daha esnek biçimlendirmemizi
sağlayan date() fonksiyonu da sık kullanılır. Bu fonksiyon çağrıldığı
yerde bize Unix sisteminin Epoch zaman-tarih damgasını verir. Bu
verinin biçimlendirilmesi için çeşitli parametreler vardır. Bu
parametreler, gün adlarının dili ve tarihlerin yazılışı bakımından Web
sunucusunun bulunduğu bilgisayardaki bölgesel ayarlara göre sonuç verir.

date()
$tarih date( biçimlendirme_parametreleri );

Burada biçimlendirme_parametleri yerine şunları yazabilirsiniz:

a   =>   
12 saat esasına dayanan Anglo-Sakson sistemlerinde öğleden önce (”am”)
veya öğleden sonra (”pm”) işaretinin verilmesini sağlar.
A   =>    Aynı işaretlerin büyük harfle yazılmasını sağlar.
d   =>    İki haneli gün sayısı, tek haneli günlerin önüne sıfıır konur: “01″ - “31″
D   =>    Üç haneli gün adı kısatması: “Cum”
F   =>    Uzun ay adı: “Ocak”
h   =>    12 saatlik sistemde saat: “01″ - “12″
H   =>    24 saatlik sistemde saat: “00″ - “23″
g   =>    12 saatlik sistemde tek haneli saatlerin önüne sıfır konmadan saat: “1″ - “12″
G  =>    24 saatlik sistemde tek haneli saatlerin önüne sıfır konmadan saat: “0″ - “23″
  =>    Dakika: “00″ - “59″
j   =>    Tek haneli sayıların önüne sıfır konmadan gün sayısı “1″ - “31″
  =>    (küçük L harfi) Uzun gün  adı: “Cuma”
L   =>   Artık yıl olup olmadığına ilişkin Boolean (doğru/yanlış) değişken. Artık yıl ise 1, değilse 0.
m  =>   Tek hanelilerin önüne sıfır konarak ay sayısı: “01″ - “12″
n   =>   Tek hanelilerin önüne sıfır konmadan ay sayısı: “1″ - “12″
 =>    Kısaltılmış ay adı: “Şub”
s  =>    Saniye: “00″ - “59″
S  =>    İngilizce (”ncı anlamına) 2 karakter ek: “th”, “nd”
  =>    Belirtilen  ayın gün sayısı; “28″ - “31″
w  =>   Haftanın gün sayısı: “0″ (Pazar veya Pazartesi) - “6″ (Cumartesi veya Pazar)
Y   =>   Dört haneli yıl: “2000″
y   =>   İki haneli yıl “00″
z   =>   Yılın gün sayısı: “0″ - “365″

Örnek:

print (date (”l dS of F Y h:i:s A”));

Browser penceresine İngilizce bölgesel ayarlar yapılmış bir bilgisayara kurulu Web sunucusunda: “Sunday 30th of July 2000 07:51:08 AM” yazdırır.

print (date (”l, d F Y g:i:s”));

Browser penceresine Türkçe bölgesel ayarlar yapılmış bir bilgisayara kurulu Web sunucusunda: “Pazar, 30 Temmuz 2000 07:51:08” yazdırır.

date() ve mktime()
fonksiyonlarını birlikte kullanarak geçmiş veya gelecek tarihleri bulma imkanı de vardır.

Örnek:
$yarin  = mktime (0,0,0,date(”m”)  ,date(”d”)+1,date(”Y”));
$gecen_ay = mktime (0,0,0,date(”m”)-1,date(”d”),  date(”Y”));
$gelecek_lyl = mktime (0,0,0,date(”m”),  date(”d”),  date(”Y”)+1);