Üye Girişi    
 + Üye ol
  • Main navigation
İçerik
Son üyeler
daPhNe 2010/9/6
epolattuna 2010/9/4
Carlo4566 2010/9/2
hillthomps 2010/9/2
waltermu 2010/8/29
Temalar

(2 Tema)
Kimler sitede
10 kişi online (5 üye Yazılar bölümünde geziyor)

Üye: 0
Ziyaretçi: 10

devamı...
Ziyaretçi Sayısı
Bugün : 6868
Dün : 104104104
Toplam : 6924769247692476924769247
Alexa
Ana sayfa / xoopshocasi.com / Tema Dersleri / Temamıza Saat ve Tarih

Temamıza Saat ve Tarih

Bugüne kadar tüm tema derslerimizi takip ettiyseniz artık temalarla ilgili
çoğu şeyi biliyorsunuz demektir. Bu dersimizde ise biraz tema bilgilerinizi
geliştirecek ama özellikle de javascript konularına giriş yapmamızı sağlayacak
bir konuyu anlatacağım..temamıza saat ve tarih yazdıracağız.

Şimdi ne varmış tarih ve saat yazdırmakta dediğinizi duyar gibiyim..evet
belki sayfa yüklendiği andaki tarihi ve saati sayfanıza yazdırmak çok kolay
olabilir..ancak bu saatin sayfa tekrar yüklenmeden sürekli ilerlemesini
sağlamak her web programcısının harcı değildir.

Merak etmeyin bu ders sonunda bir miktar fikir sahibi olacağınız javascript
dilini ilerde ayrıntılı derslerle anlatacağım..hatta javascriptin abisi olan
ajax da zaman zaman konularımız arasında yer alacak..şimdi kodlarımızı yazmaya
başlayalım.

İlk hazırladığım tema dersi olan theme.html dosyasını hazırlama konusunu tekrardan
iyice okumanızı tavsiye ediyorum..zira öncelikle sayfanızda saat ve tarihin gözük-
mesini istediğiniz yeri hazırlayacağız..bunu ister bir tablo sütunun da isterseniz
sayfanın en altında veya en üstünde hazırlayabilirsiniz..bu kısımı sizin tercihinize
bırakıyorum.

Eğer saat ve tarihin gözükmesini istediğiniz yeri belirlediyseniz..şimdi bu alanda
aşağıdaki kodlarla bir div oluşturuyoruz..stil özelliklerini css kullanarak özelleş-
tirebilirsiniz:

 
<div id="tarihim" style="font-family:verdana;font-size:10pt;color:#336699;font-weight:bold"></div>



evet bu sadece işimizin ilk kısmıydı..yani saat ve tarihin gözükmesini istediğimiz
yeri hazırlamış olduk..şimdi bu tagi yerleştirdikten sonra herhangi bir yere
alağıdaki javascript kodlarını eklemelisiniz..ayrıntılı olarak inceleyelim:

 
<script language="javascript">



bu tag ile tarayıcımıza javascript ile kod yazmaya başladığımızı bildiriyoruz:

 
function ayarla() {



artık javascript ile yazmaya başladık..saatimizin hayati fonksiyonunu
tanımlamaya başlıyoruz

 
var simdi = new Date()



önce simdi isimli bir değişken tanımladım ve bu değişkene tarihi atadım

 
var aylar = new Array('Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık')
var gunler = new Array('Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi')



bu kodlarla aylar ve gunler adında iki adet dizi tanımladım..bu diziler sizinde
anlayacağınız gibi ayın ve günün doğru ve Türkçe olarak ekrana yazdırılmasında
kullanılacak:

 
bu_gun = gunler[simdi.getDay()]
bu_ay = aylar[simdi.getMonth()]



bu kodlar bu_gun ve bu_ay değişkenlerine gün ve ayı alarak kaydediyor..bu
kodları biraz daha açık anlatırsam javascript ve hatta genel web programcılığı
hakkında daha çok fikir sahibi olacağınıza inanıyorum..hatırlarsanız fonksiyon
tanımlamamızın başında simdi değişkenini tarih(date) metodunu kullanması için
ayarlamıştık..burada kullandığımız simdi.getDay() öntanımlı fonksiyonu aslında
bir sayı döndürecektir..yani bize gün numarasını döndürür..bu sebeple bu metodu
gunler[] dizisi içinde kullandım böylece bu dizinin gün numarasına karşılık gelen
elemanını çekme şansına sahip oluyorum..bu arada bir ayrıntı daha vereyim..
programcılıkta saymaya 1'den değil 0'dan başlanır..yani bu metodda pazar günü
0 sayısını döndürecektir..gunler dizisinde de ilk eleman yani 0 sırasında
olan Pazar olduğu için ekrana bu yazılacaktır..bu_ay için de aynı şeyler söz
konusu..

 
if ( simdi.getDate() < 10 ) {
 
ayin_kacı = "0" + simdi.getDate()
 
} else {
 
ayin_kacı = simdi.getDate()
 
}



bu kod ise bir if yani koşullu döngü..bu kodun görevi ayın kacı olduğunu
öğrenmek ve eğer tek basamaklı bir sayı dönüyorsa başına 0 eklemek..yani
çift basamaklı hale getirmek..ayrıca ayın kaçı olduğunun ayin_kaci
olarak kaydettiğine de dikkat edin

 
yil = simdi.getYear()



aynı şekilde hangi yılda olduğumuzu öğrendik ve yil olarak kaydettik

 
if ( simdi.getHours() < 10 ) {
 
saat = "0" + simdi.getHours()
 
} else {
 
saat = simdi.getHours()
 
}



bu sefer de saati öğrendik ve çift basamaklı hale getirdik

 
if ( simdi.getMinutes() < 10 ) {
 
dakika = "0" + simdi.getMinutes()
 
} else {
 
dakika = simdi.getMinutes()
 
}
 
if ( simdi.getSeconds() < 10 ) {
 
saniye = "0" + simdi.getSeconds()
 
} else {
 
saniye = simdi.getSeconds()
 
}



aynı şeyi dakika ve saniye için de tekrarlıyoruz..hiç bir farkı yok

 
tarihim.innerHTML = ayin_kacı + " " + bu_ay + " " + yil + "," + bu_gun + "," + saat + ":" + dakika + ":" + saniye



şimdi en başta tanımladığımız div içine tüm hazırladıklarımızı istediğimiz düzen
içinde yazdırıyoruz..buradaki + işareti toplama değil değişkenleri birbiri ardına
yazmak için kullanılır..yani phpdeki "." gibi

 
setTimeout('ayarla()',1000)
}
ayarla()
</script>



geldik en can alıcı noktaya..buraya kadar tüm yaptıklarımız..saat ve tarihi
düzenleyip yazdırmak içindi..şimdi de saatin ilerlemesini sağlıyoruz..bu son
kod bloğu ile en başta tanımladığımız ayarla() fonksiyonu 1000 milisaniyede
bir kendini tekrarlıyor..aslında tam olarak açıklamak gerekirse..fonksiyon
bittikten sonra 1000 milisaniye bekleniyor ve diğer işleme geçiliyor..ki
diğer işlemde gördüğünüz gibi aynı ayarla() fonksiyonu..

umarım bu ders yardımıyla javascript hakkındaki bilgilerimiz biraz daha
pekişmiştir..ilerde daha karmaşık uygulamalarla görüşmek üzere

herkese kolay gelsin..

Bora Canbula ------------ xoopshocasi@xoopshocasi.com


Ayrıca bakınız
Bu sayfayı bir arkadaşınıza tavsiye edin! Bu sayfayı yazdırmak üzere hazırlayın


Yorumlardan yazarları sorumludur.