Javascript dilinde tarihler new Date() nesnesiyle oluşturulur.
Tarih nesneleri 4 şekilde oluşturulabilir.
<script>
new Date()
new Date(yıl, ay, gün, saat, dakika, saniye, milisaniye)
new Date(milisaniye)
new Date(date string)
</script>
new Date() nesnesi bu şekilde kullanıldığında anlık olarak tarih ve saati alıp bize döndürür. Oluşturduğumuz nesne sayfa yenilenene kadar sabit kalır.
<script>
var tarih = new Date();
console.log(tarih);
</script>
Tarih nesnesine parametre atayarak istediğimiz şekilde bir tarih değişkeni oluşturabiliriz.
İçine gireceğimiz 7 parametre şu sırayla işlenir.
Yıl, Ay, Gün, Saat, Dakika, Saniye, Milisaniye
<script>
var tarih = new Date(2020,10,1,14,23,35,1);
console.log(tarih);
// çıktı: Sun Nov 01 2020 14:23:35 GMT+0300 (GMT+03:00)
</script>
Burada dikkat etmemiz gereken husus ise javascript dilinde aylar 0 değerinden başlar, 11 değeri ile biter. Yani 0 Ocak ayıdır, 11 ise aralık.
Bunun için date nesnesine Yıl Ay Gün şeklinde 3 parametre göndermemiz yeterlidir.
<script>
var tarih = new Date(2020,10,1);
console.log(tarih);
</script>
Javascript dilinde 3 adet tarih girişi bulunmaktadır.
ISO Tarih Standardı "2015-03-25" (Uluslararası standart)
Kısa Tarih "03/25/2015"
Uzun Tarih "Mar 25 2015" veya "25 Mar 2015"
Tarih nesnesindeki verilere ulaşmak için aşağıdaki fonksiyonlar kullanılır.
getFullYear() : Tarih nesnesine girdiğimiz yıl değerini bize döndürür. 4 basamaklı
getMonth () : Tarih Nesnesine girdiğimiz yıl değerini bize döndürür. (0-11 arası)
getDate() : Tarih nesnesine girdiğimiz gün değerini bize döndürür. (0-31 arası)
getHours(): Tarih nesnesine girilen saati bize döndürür. (0-23 arası)
getMinutes(): Dakika bilgisini bize döndürür. (0-59 arası)
getSeconds(): Saniye bilgisini bize döndürür. (0-59 arası)
getMilliseconds(): Milisaniye bilgisini bize döndürür. (0-999 arası)
getTime(): Tarih nesnesine girdiğimiz zamanla 01.01.1970 arasındaki tarih ve saat farkını milisaniye cinsinden bize döndürür.
getDay(): Haftanın kaçıncı günü olduğunu bize döndürür.
Date.now(): Ecmascript 5 ile hayatımıza girmiştir. Zaman bilgisini döndürür.
**Yukarıda döndürür kelimesini çok kullandım. Belki bilmeyenleriniz vardır. Döndürmek bir fonksiyonun sonucunda oluşan değerdir. Mesela yukarıda tarih nesnesini işleme sokarak sadece yıla ulaşmak istedik. Bunu getFullYear fonksiyonu ile yaptık ve sonucunda bize yılı döndürdü. Umarım anlatabilmişimdir. :)
<script>
var tarih = new Date(2021,1,1,14,24,45,655);
console.log(tarih.getTime()); //çıktı: 1612178685655
console.log(tarih.getFullYear()); //(Yıl) çıktı : 2021
console.log(tarih.getMonth()); // Ay, çıktı: 1
console.log(tarih.getDate()); // Gün, çıktı: 1
console.log(tarih.getHours()); // Saat, çıktı: 14
console.log(tarih.getMinutes()); // Dakika, çıktı: 24
console.log(tarih.getSeconds()); // Saniye, çıktı:25
console.log(tarih.getMilliseconds()); // Milisaniye, çıktı: 655
console.log(tarih.getDay()); //Haftanın kaçıncı günü,çıktı:1
</script>
Aşağıdaki oluşturduğumuz fonksiyonla haftanın gününe metin olarak ulaşabiliriz.
<script>
var tarih = new Date();
var days = ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"];
console.log(days[tarih.getDay()]);
</script>
Ben bu yazıyı yazdığımda Salı gününde olduğumuz için Salı değerini konsol ekranına yazacaktır. Siz ne zaman bu fonksiyonu çalıştırırsanız o günü ekrana yazdıracaktır.
Tarihi istediğimiz biçimde ayarlamak için kullanılan tarih fonksiyonları şunlardır.
setDate() : Tarihi gün olarak tamsayı şeklinde ayarlar. (1-31 arası)
setFullYear() : Tarihi yıl cinsinden ayarlar. (Ay ve Yıl opsiyoneldir)
setHours(): Saati tamsayı cinsinden ayarlar. (0-23 arası)
setMinutes(): Dakika oluşturur. (0-59 arası)
setMonth(): Ayı oluşturur. (0-11 arası)
setSeconds(): Saniye oluşturur. (0-59 arası)
setTime(): 1.1.1970 ile gireceğimiz tarih arasındaki farkı milisaniye cinsinden oluşturur.
<script>
var tarih = new Date();
tarih.setFullYear(2020);
tarih.setFullYear(2020, 11, 3);
tarih.setMonth(11);
tarih.setDate(15);
tarih.setHours(22);
tarih.setMinutes(30);
tarih.setSeconds(55);
</script>
Tarihleri karşılaştırmak çok basittir. Aşağıdaki örnekte 1 Ocak 2020 ile 1 Ocak 2021 karşılaştırılmıştır.
<script>
var today, someday, text;
gecenSene = new Date(2020,1,1);
buSene = new Date(2021,1,1);
if (gecenSene > buSene) {
text = "2020, 2021'den büyüktür.";
} else {
text = "2021,2020'den büyüktür";
}
alert(text)
</script>
Kodu çalıştırdığınızda ekranda 2021,2020'den büyüktür yazacaktır.