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.