JavaScript ile Date fonksiyonu tarih oluşturma, değiştirme ve kısmen tarih biçimlendirme işleri yapılabilir. JavaScript 1 Ocak 1970 UTC tarihinden şu zamana kadar geçen milisaniye cinsinden zaman değerini temel alır.
Yazının içindekiler
Date nesnesinin yazım kuralı
Date nesnesi metodları
Günleri Türkçe ekrana yazdırma
Yılları Türkçe Ekrana Yazırma
[divider]Date NesnesiYazım Kuralı:
1 2 3 4 5 6 |
new Date(); new Date(deger); new Date(tarihmetni); new Date(yıl, ay[, gün[, saat[, dakika[, saniye[, milisaniye]]]]]); |
tarihmetni: Date.parse türünde formatlanmış tarih metnini kabul eder.
yıl: 0->1900, 99->1999 yada dört basamaklı yyyy formatında yıl değeri alır.
ay: Ocak için 0, Aralık için 11 değerini alır.
gün: sayısal olarak ayın gün değerleri alır.
saat: sayısal olarak günün saatlarini alır.
dakika: sayısal olarak bir saatin dakikalarını alır.
saniye: bir dakikanın saniyelerini alır.
milisaniye: bir saniyenin milisaniyelerini alır.
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var bugun= new Date(); var tarih1 = new Date('December 17, 1995 03:24:00'); //Sun Dec 17 1995 03:24:00 GMT+0200 var tarih2= new Date('1995-12-17T03:24:00'); //Sun Dec 17 1995 05:24:00 GMT+0200 var tarih3= new Date(1995, 11, 17); //Sun Dec 17 1995 00:00:00 GMT+0200 var tarih4= new Date(2005, 11, 17, 3, 24, 0); // Sat Dec 17 2005 03:24:00 GMT+0200 var tarih5= new Date(2011,0,1); //// Sat Jan 01 2011 00:00:00 GMT+0200 var tarih6 = new Date('10/25/2014'); //ay gün yıl formatında girilmek zorunda var tarih7 =new Date('10 06 2014'); //Mon Oct 06 2014 00:00:00 GMT+0300 |
Geçersiz formatta tarih girildiğinde “Invalid Date” yada NaN değeri dönmektedir.
Date Nesnesi Metodları
1 2 3 4 5 6 7 |
new Date('tarih yaz 2014').toString(); // returns: "Invalid Date" Date.parse('tarih 2014'); // returns: NaN |
getFullYear() | 4 basamaklı yıl |
getMonth() | 0 (Ocak) – 11 (Aralık) arasında sayı |
getDay() | 0(Pazar) – 6(Cumartesi) |
getDate() | 1-31 arasında sayı |
getDay() | 0(Pazar) – 6 (Cumartesi) değerleri döner |
getHours() | 0-23 //saat |
getMinutes() | 0-59 //dakika |
getSeconds() | 0-59 //saniye |
getMilliseconds() | 0-999 //milisaniye |
getTime() | 1 Ocak 1970 yılından şuana kadar geçen milisaniye cinsinden sayı döndürür. |
setDate() | Aktif ayın tarihini değiştirir. |
setFullYear() |
Yılı değiştirir. |
setHours() |
0-23 arasında saati değiştirir. |
setMilliseconds() |
0-999 arasında milisaniyeyi değiştirir. |
setMinutes() |
0-59 arasında dakikayı değiştir. |
setMonth() |
0-11 arasında ayı değiştirir. |
setSeconds() |
0-59 arasında saniyeyi değiştirir. |
setTime() |
milisaniye cinsinden yeni tarih üretir.(1970 yılından başlayarak) |
toDateString() |
Date nesnesi ile üretilen değeri string formatına dönüştürür. |
Daha fazla Date metodu https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
Date.now() :1970 yılından şuana kadar geçen milisaniye değerini verir.
Örnekler: get….
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
var tarih = new Date('10/25/2014 14:25:05'); //Sat Oct 25 2014 14:25:05 alert(tarih.getFullYear()); //2014 alert(tarih.getDay()); //6 alert(tarih.getDate()); //25 alert(tarih.getMinutes()); //25 alert(tarih.getSeconds()); //05 alert(tarih.getMilliseconds()); //0 alert(tarih.getTime()); //1414236305000 (1970den belirtilen tarihe kadar geçen milisaniye) |
Örnekler: set…
1 2 3 4 5 6 7 8 9 |
var theBigDay = new Date(1962, 6, 7); // 1962-07-07 theBigDay.setDate(24); // 1962-07-24 theBigDay.setDate(32); // 1962-08-01 theBigDay.setDate(22); // 1962-08-22 |
1 2 3 4 5 |
var theBigDay = new Date(); theBigDay.setFullYear(1997); |
1 2 3 4 5 |
var theBigDay = new Date(); theBigDay.setHours(7); |
1 2 3 4 5 6 7 |
var theBigDay = new Date('July 1, 1999'); var sameAsBigDay = new Date(); sameAsBigDay.setTime(theBigDay.getTime()); |
1 2 3 4 5 6 7 |
var theBigDay = new Date('2015-07-13'); var sameAsBigDay = new Date(); sameAsBigDay.setTime(theBigDay.getTime()); |
1 2 3 4 5 6 7 8 9 |
var theBigDay = new Date(); theBigDay.setYear(96); theBigDay.setYear(1996); theBigDay.setYear(2000); |
JavaScript ile Günler Türkçe Yazdırma
getDay() komutunun günleri 0(Pazar) -6 (Cumartesi) olacak şekilde aldığını biliyoruz.
Günleri ekrana Türkçe yazdırma için günler adında bir dizi oluşturup ilgili index(sıra numarası) tarafından gösterilen dizi elemanını ekrana yazdıracağız.
1 2 3 4 5 6 7 |
var gunler=["pazar","pazartesi","salı","çarşamba","perşembe","cuma","cumartesi"]; var tarih=new Date("2012-10-24"); alert( gunler[ tarih.getDay() ]); //çarmaba |
Çok daha temiz kod yazmak ve yazdığın kodun daha anlaşılır olması için gunGetir adında bir metod oluşturup çalıştırdığında günü döndürebiliriz. Ben kodun Date nesnesine uygun olması için metod adını getDayName (gün adını getir) verdim. Oluşturduğum metodu Date nesnesine ekledim.(Nesne Yönelimli JavaScript).
Yazdığım kod getDayName dediğimde gün adını getirecek.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<script> /*getDayName adında metod oluşturup Date sınıfına bağladım. Bir sefer yapılıyor.*/ Date.prototype.getDayName=function() { let gunisim=["pazar","pazartesi","salı","çarşamba","perşembe","cuma","cumartesi"] return gunisim[ this.getDay()]; } /*Örnek*/ var tarih=new Date("2012-10-24"); alert( tarih.getDayName() ); var bugun =new Date(); alert( bugun.getDayName()); </script> |
JavaScript ile Ayları Türkçe Yazırma
getMonth() komutunun günleri 0(Ocak) – 12(Aralık) olacak şekilde aldığını biliyoruz.
Günleri ekrana Türkçe yazdırma için günler adında bir dizi oluşturup ilgili index(sıra numarası) tarafından gösterilen dizi elemanını ekrana yazdıracağız.
1 2 3 4 5 6 7 |
var aylar=["ocak","şubat","mart","nisan","mayıs","haziran","temmuz","ağustos","eylül","ekim","kasım","aralık"]; var tarih=new Date("2012-10-24"); alert( aylar[ tarih.getMonth() ]);//ekim |
Çok daha temiz kullanım için Date sınıfına ay ismi getir (getMonthName) metod yazıp o şekilde kullanmak Nesne Yönemlimli JavaScript için çok iyi bir yöntem olacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<script> Date.prototype.getMonthName=function() { let ayisim=["ocak","şubat","mart","nisan","mayıs","haziran","temmuz","ağustos","eylül","ekim","kasım","aralık"]; return ayisim[ this.getMonth()]; } var tarih=new Date("2012-10-24"); alert( tarih.getMonthName() ); var bugun=new Date(); alert(bugun.getMonthName()); </script> |
Faydalanılan Kaynaklar
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
http://javascript.info/tutorial/datetime-functions
http://www.w3schools.com/js/js_dates.asp
[…] JavaScript Dersleri 23: Date Kütüphanesi ve Kullanımı […]