Üye Girişi Yapınız     


    E-Posta
    

    Şifreniz
    



Şifremi Unuttum


Ana Sayfa Site Hakkında İletişim Ziyaretçi Defteri Döküman İndir Makale Ekle Haber Ekle

     PHP’de Zaman Fonksiyonlarının Kullanımı
     admin     05.04.2012     20:18:41

PHP’de tarih ve zaman bilgisini çok esnek bir biçimde kullanabilmemize izin veren önemli fonksiyonlar vardır. Bu fonksiyonlar ile geriye bir dizi değer gönderilir. Bu değerlerden istediğinizi alıp kullanabilir ve istediğiniz formatta ekrana yazdırabilirsiniz. Gelin birlikte inceleyelim. Başlığa tıklayınız.




getdate()
 
Bu fonksiyon çalıştırıldığında geriye bir dizi döndürür. Bu dizinin elemanlarını kullanarak o anki tarih ve zaman bilgisini programımıza rahatlıkla aktarabiliriz. Fonksiyon o anki zaman bilgisi ile ilgileniliyorsa parametresiz kullanılabilir. Ama geçmiş veya gelecekteki bir tarih için Unix Epoch biçiminde, ilgilenilen zamanı temsil eden bir parametre almalıdır.
 
getdate() fonksiyonun döndürdüğü dizinin indisleri ve değerleri aşağıdaki tablodaki gibidir:
 
Dizi indisleri               Değerleri
seconds                      saniye
minutes                       dakika
hours                           saat
mday                            ayın kaçıncı günü olduğu bilgisi (1,2,3,... 31)
wday                            haftanın kaçıncı günü olduğu bilgisi (Pazar: 0, P.Tesi: 1,... C.tesi: 6 )
mon                              ay (1,2,...12)
year                              yıl (2001,2002,...)
yday                              yılın kaçıncı günü olduğu bilgisi (1,2,3,...365)
weekday                      haftanın hangi günü olduğu bilgisi (Sunday,Monday,... Saturday)
month                           ay (January,February,...December)
 
date()
 
Bu fonksiyon parametre olarak özel biçimlendirme ifadeleri alır. Genel kullanım şekli:
 
date("bicimlendirme parametreleri");
 
Özel biçimlendirme parametrelerinden en çok kullanılanları aşağıda verilen tablodaki gibidir.
 
Parametre      İşlevi
a                      12 saat esasına dayanan sistemlerde öğleden önce ("am") veya öğleden sonra ("pm") işaretini sağlar.
A                      Aynı işaretlerinin 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ısaltması: "Sun","Mon", ..
F                       Uzun ay adı: "January","February", ..
h                      12 saatlik sistemde saat: "01"-"12"
H                       24 saatlik sistemde saat: "00"-"23"
                     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"
i                       Dakika: "00-59"
j                       Tek haneli sayıların önüne sıfır konmadan gün sayısı: "1"-"31"
l                       (Küçük l harfi) Uzun gün adı: "Sunday", "Monday", ..
                      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 döndürür.
m                     Tek haneli sayıların önüne sıfır konarak ay sayısı: "01"-"12"
n                      Tek haneli sayıların önüne sıfır konmadan ay sayısı: "1"-"12"
M                     Kısaltılmış ay adı: "Jan","Feb", ..
s                      Saniye: "00"-"59"
S                      İngilizce "’nci" anlamında 2 karakter ek: "th","nd"
t                       Belirtilen ayın toplam gün sayısı: "28"-"31"
w                     Haftanın kaçıncı günü olduğu bilgisi: "0" Pazar, "6" Cumartesi
Y                      Dört haneli yıl: "2000"
y                      İki haneli yıl "02"
z                      Yılın kaçıncı günü olduğu bilgisi: "0"-"365"
 
Normalde date() fonksiyonunun içine "-" işaretinde olduğu gibi yazılması üzere başka metinler de girebilirsiniz. Ama pek çok harfe özel bir anlam yüklendiği için bu tür girişimler başarılı bir çıktı vermeyecektir. Örneğin yukarıdaki örnekteki "Tarih" ifadesini date()’in içine ekleyemedik. Çünkü T, a, r, i ve h harflerinin hepsinin fonksiyon için ayrı bir anlamı var.
 
date() fonksiyonu, seçimlik olarak ikinci bir parametre alır. Bu parametre Unix Epoch biçiminde zaman bilgisi içermelidir. Böylece date() fonksiyonu o anki zaman göre değil belirtilen zamana göre çıktı üretecektir.
 
time()
 
Bu fonksiyon parametresiz çalışır ve Unix Epoch biçiminde o anki zaman bilgisini içeren bir tamsayı değer döndürür.
time() fonksiyonuna saniye cinsinden değer ekleyip çıkartarak geçmiş ve gelecek tarihlere ait Unix Epoch biçiminde değer elde edebilir, bu değeri date(), getdate() gibi fonksiyonlarda kullanabiliriz.
 
Örnek Kodlar
 
<?
$bugun=getdate();
@print $bugun[mday]."/".$bugun[mon]."/".$bugun[year];
print "<br>";
//-------------------------
print date("d.m.Y");
print "<br>";
//-------------------------
$bugun=getdate(time());
@print $bugun[mday]."-".$bugun[mon]."-".$bugun[year];
print "<br>";
//-------------------------
print date("d-m-Y",time());
print "<br>";
//-------------------------
$dun=getdate(time()-24*60*60);
@print $dun[mday]."-".$dun[mon]."-".$dun[year];
print "<br>";
//-------------------------
$dun=getdate(time()+2*24*60*60);
@print $dun[mday]."-".$dun[mon]."-".$dun[year];
print "<br>";
//-------------------------
print date("d-m-Y",time()+24*60*60);
print "<br>";
//Bundan iki gün bir ay üç yıl önce’sine yolculuk yapalım..
$zaman=mktime(0,0,0,date("m")-1,date("d")-2,date("Y")-3);
print "Tarih:".date("d-m-Y",$zaman);
?>
 
Ekran Çıktısı
5/4/2012
05.04.2012
5-4-2012
05-04-2012
4-4-2012
7-4-2012
06-04-2012
Tarih:03-03-2009

Facebook'ta Paylaş    
Diğer PHP İçerikleri       Tüm Yazılar        Ana Sayfa


  =>Soru Sorun veya Yorum Yazın...

İsim Giriniz :
  

  =>Yapılan Yorumlar...

ali    04.03.2013    16:31:43

Sistem satinden o anının saatini zaman fonksiyonları kullanarak ekrana yazdırma


mert    17.04.2013    10:36:16

 hocam birkaç sorum var . $a=4; $b=0; tanımlamalarına gore asagıdakılerden hangısı dogrudur ?
a) if(!($a*$b))     b) if($b>$a)    c) if($b)    d) if($a*$b)

2) hangi komut ekranında SONUC=15 ifadesini gösterir?
a)echo "SONUC=9+6"; b) echo SONUC="9+6"; c) echo SONUC=$9+$6 d) echo"SONUC=",9+6;

3) Asagıdakı komutlardan hangısınde yazım hatası yoktur ?
a)if($a>$b); echo "off" b)else if($a-$b); echo "off"; c) else echo "off"; d) elseif echo "off";

4) yükseklik ve taban girilen üçgenin alanını hesaplayan programın php kodunu fonksiyon kullanarak yazınız "formul (alan=yukseklık*taban)/2)" 

5)iki kenar uzunlugu girilen dikdörtgenın alanını hesaplayan programın php kodunu yazınız (alan=kısa kenar * uzun kenar)

6)2 sayının birbirine bolumunden kalanını bulup sonucunu geri döndüren fonksıyonu yazınız. 

7) elemanı a,b,c olan diziyi for dongusu ile ekrana yazdıran program

hocam bunlar benım ıcın cok onemli eger yardımcı olursanız cook sevınırım . merttopal_@hotmail.com’a da atabılırsınız yarına kadar tamamlamam lazım yardımlarınızı beklıyorum sımdıden coook tesekkür ederim iyi çalısmalar ..


admin    17.04.2013    11:35:25

1) C
2) D
3) C

4) $yuk=10;
    $tab=20;
    $alan=($yuk*$tab) / 2;
    echo "Yükseklik= $alan";

5) Bu da aynı. sadece /2 ifadesi olmayacak.

6)
function kalan($say1,$say2)
{ $kalan=$say1 % $say2;
  return $kalan; }

7)

for($i=0;$i<=2;$i++)

  { echo $dizi[$i]."<br>"; }