Java Script Zaman Komutları
Bu sayfada zaman yöntem kodları üzerinde duracağız. Bu kodlar zaman
birimlerini ifade etmekte, nesneleri zamana göre sıralamakta ve
sorgulamakta kullanılır. (ASP derslerinde üzerinde duracağız.)
Zaman Değişkeni Tanımlama ve Yürürlükteki Zaman Değerini İfade
Etme
İlk kodumuz: new Date(). Bu kod değişkenin zaman değeri taşıdığını
belirtiyor. Ve değişkene bilgisayarın saatinde yer alan zaman
değerini veriyor. Aşağıdaki kodlarla bu zaman değerini
özelleştirebiliriz.
getDate() Ayın kaçı olduğunu gösterir.
tarih.getDate()
getMonth() Hangi ayda olduğumuzu gösterir. Ocak için 0, Şubat için
1, Mart için 2, ..., Aralık için 11 değerini verir.
tarih.getMonth()
getFullYear() İçinde bulunduğumuz yılı dört rakamıyla gösterir.
tarih.getFullYear()
getHours() Saat değerini ifade eder. 24`lük sistem kullanılır.
tarih.getHours()
getMinutes() Dakika değerini ifade eder.
tarih.getMinutes()
getSeconds() Saniye değerini ifade eder.
tarih.getSeconds()
getUTCHours() UTC saat değerini ifade eder. UTC bir zaman standardı;
NASA falan kullanıyor olsa gerek.
tarih.getUTCHours()
getUTCMinutes() UTC dakika değerini ifade eder.
tarih.getUTCMinutes()
getUTCSeconds() UTC saniye değerini ifade eder.
tarih.getUTCSeconds()
getDay() Haftanın günlerini ifade eder. Pazar için 0, Pazartesi için
1, Salı için 2, ..., Cumartesi için 6 değerini verir.
tarih.getDay()
Eğer bu kodların tanımlandığı değişken önceden var değişken = new
Date() şeklinde tanımlanmazsa çalışmaz. Şimdi bir uygulamayla tüm bu
kodların nasıl sonuç verdiğini görelim. Uygulama sonuçlarını,
bilgisayarınızın saatiyle karşılaştırın.
Javascript:
<html>
<head>
<title>Zaman Komutları</title>
</head>
<body>
<h3>Zaman Komutları ve Sonuçları</h3>
<script language="JavaScript">
var zaman = new Date()
document.write("<b>Zaman</b>: " + zaman)
document.write("<br><b>getFullYear</b>: " + zaman.getFullYear())
document.write("<br><b>getDate</b>: " + zaman.getDate())
document.write("<br><b>getMonth</b>: " + zaman.getMonth())
document.write("<br><b>getHours</b>: " + zaman.getHours())
document.write("<br><b>getMinutes</b>: " + zaman.getMinutes())
document.write("<br><b>getSeconds</b>: " + zaman.getSeconds())
document.write("<br><b>getUTCHours</b>: " + zaman.getUTCHours())
document.write("<br><b>getUTCMinutes</b>: " + zaman.getUTCMinutes())
document.write("<br><b>getUTCSeconds</b>: " + zaman.getUTCSeconds())
document.write("<br><b>getDay</b>: " + zaman.getDay())
</script>
</body>
</html>
Uygulamayı dikkatli inceleyen okuyucular, tek rakamlı zaman
birimlerinin önüne 0 gelmediğini görmüşlerdir. Yani saniye 08 yerine
8 diye geçer. (Saat yapmak isteyenlerin dikkatine.) Bir başka
özellik de, bu kodlarla sadece sayfanın çalıştırıldığı anın zamanı
gösteriliyor. Örneğin saniye ifadesi olduğu gibi duruyor ve
çalıştırıldığı zamanın saniyesini gösteriyor. (Saat yapmak
isteyenlerin bir daha dikkatine.)
Zaman Değeri Atama
İstersek zaman ayarlarıyla oynayabilir, istediğimiz tarihe veya
saate kurabiliriz. Bu kurma işlemi için aşağıdaki komutlar
kullanılır.
setFullYear() Girilen yılı ayarlar.
tarih.setFullYear("1963")
setMonth() Girilen ayı ayarlar.
tarih.setMonth("5")
setDate() Ayın gününü ayarlar.
tarih.setDate("13")
setHours() Saati ayarlar.
tarih.setHours("10")
setMinutes() Dakikayı ayarlar.
tarih.setMinutes("34")
setSeconds() Saniyeyi ayarlar.
tarih.setSeconds("22")
setUTCHours() UTC saatini ayarlar.
tarih.setUTCHours("10")
setUTCMinutes() UTC dakikasını ayarlar.
tarih.setUTCMinutes("34")
setUTCSeconds() UTC saniyesini ayarlar.
tarih.setUTCSeconds("22")
Dikkat ederseniz zamanı ayarlarken haftanın günlerini ayarlamıyoruz.
Bilgisayar ayarlanan yıl, ay ve güne göre haftanın gününü
hesaplıyor. Şimdi uygulamamızı inceleyelim; her ayarlamadan sonra
zaman yeniden gösteriliyor.
Javascript:
<html>
<head>
<title>Zaman Komutları</title>
</head>
<body>
<h3>Zaman Komutları ve Sonuçları</h3>
<script language="JavaScript">
var zaman = new Date()
document.write("<b>Zaman</b>: " + zaman)
document.write("<br><b>getFullYear</b>: " + zaman.getFullYear())
document.write("<br><b>getDate</b>: " + zaman.getDate())
document.write("<br><b>getMonth</b>: " + zaman.getMonth())
document.write("<br><b>getHours</b>: " + zaman.getHours())
document.write("<br><b>getMinutes</b>: " + zaman.getMinutes())
document.write("<br><b>getSeconds</b>: " + zaman.getSeconds())
document.write("<br><b>getUTCHours</b>: " + zaman.getUTCHours())
document.write("<br><b>getUTCMinutes</b>: " + zaman.getUTCMinutes())
document.write("<br><b>getUTCSeconds</b>: " + zaman.getUTCSeconds())
document.write("<br><b>getDay</b>: " + zaman.getDay())
</script>
</body>
</html>
Zaman Aralığı
Fonksiyonu harekete geçiren olayın oluşmasından belli miktar
zaman geçtikten sonra birşey oluşmasını istiyorsak, setTimeout(...,
...) komutu kullanılır. Örneğin bir düğmeye basıldıktan sonra uyarı
kutusunun çıkmasını istiyorsak:
setTimeout("alert(`Bu mesaj 3 saniye sonra çıkar.`)", 3000)
İlk değer parantez içinde bir JavaScript kodudur, ikinci değer ise
ilk değerin ne kadar süre sonra oluşacağını belirleyen, mili saniye
cinsinden zaman değeridir. (1 saniye = 1000 mili saniye) Bu komut
ile uyarı kutusu 3 saniye bekledikten sonra görünecektir.
setTimeout komutu daha çok zaman aralıklarıyla tekrar eden
hareketler oluşturmak için kullanılır. Aşağıdaki uygulamamıza
bakalım:
Javascript:
<html>
<head>
<title>setTimeout</title>
<script language="JavaScript">
var metin;
function Slogan(n)
{
if(n%2==1) {metin="EN BÜYÜK"}
else
{metin="ALTAY!!!"}
katman.innerHTML=metin
setTimeout("Slogan(" + (n+1) + ")", 1000);
}
</script>
</head>
<body onload="Slogan(1)">
<div id="katman" align="center">Deneme</div>
</body>
</html>
Bu uygulama ile 1000 milisaniye (1 saniye) arayla "EN BÜYÜK" ve
"ALTAY!!!" yazıları birbirinin yerine geçiyor. Bunu yapmak için
Slogan() fonksiyonunun içinde tekrar Slogan() fonksiyonu çağrılarak
bir döngü oluşturdum. Örnek uygulamalar bölümünde bu kullanım
tarzını bolca göreceksiniz.
Bu sayfayı burada bitiriyorum. Bir takım zaman kodlarına değinmedim
bile; onları referans sayfalarından öğrenebilirsiniz. (Milisaniyeyi
falan ölçüyorlar, lazım olunca bakar öğrenirsiniz.) Şimdilik bu
kadarı işinizi görür.
|