Sitede daha önce Java ile artık yılları (Şubat ayı 29 çeken yılları) bulmak yazısını paylaşmıştım, dün de C# ile hazırlanan benzer bir uygulama (bkz: C# ile artık yılları bulmak) görünce javascript ile de benzer bir uygulamayı yine ben yapmış olmak istedim.
Javascript içerisinde artık yılları bulmak için iki farklı algoritma kullanabiliriz.
1. Çözüm: Artık yıllar 400'ün katıdır ya da 4'ün katı olup 100'ün katı değildir
function arikYilKontrolu(yil) {
if ((yil % 400 == 0) || ((yil % 4 == 0) && (yil % 100 != 0)))
console.log(yil + ' artık bir yıldır');
}
for (i=1990; i<= 2021; i++)
arikYilKontrolu(i);
2. Çözüm: Artık yıllarda 29 Şubat tarihi tanımsız değildir
function arikYilKontrolu(yil) {
const artik = new Date(yil, 1, 29).getDate() === 29;
if (artik)
console.log(yil + ' artık bir yıldır');
}
for (i=1990; i<= 2021; i++)
arikYilKontrolu(i);
Çıktı:
"1992 artık bir yıldır"
"1996 artık bir yıldır"
"2000 artık bir yıldır"
"2004 artık bir yıldır"
"2008 artık bir yıldır"
"2012 artık bir yıldır"
"2016 artık bir yıldır"
"2020 artık bir yıldır"
Editör editi: önceki bazı diğer benzer yazılar için;
bkz: Google Chrome içinden javascript'i disable etmek
bkz: HTML'de bulunamayan görselleri jQuery/JavaScript kullanarak değiştirmek
bkz: Javascript/HTML ile parolayı göster gizle butonu yapımı
bkz: 2+2=5 bulan bir program yazın (javascript ile)
bkz: JavaScript ile Mükemmel Sayıları Bulmak
bkz: Javascript'te ID değerinden HTML etiketi bulmak (DOM)