JavaScript tarihleri
Duvar takvimi martı üçüncü ay sayar, nesne ise ocaktan ve sıfırdan saydığı için onu 2 diye tutar. Bu kavgayı her satırda yeni bir «şimdi» ile bozmamak için tek sabah seçiyoruz. Okuma salonu 14 Mart 2024 perşembe günü sabah 9:30’da açıldı. Sayfayı yenilesen de bu sabah durur.
Listede aramıyorsun
Dizide cevap bir göz, −1, evet ya da hayır, ya da pulun kendisiydi. Tarih öyle bulunmaz. Anı sen kurarsın, sonra ona tek bir şey sorarsın. Sormak akrebi yürütmez.
Bu perşembenin altı sayısı
Kâğıt bu sabaha aittir: her sorunun sayısı, ve aceleye gelince karıştığı komşusu.
📊 Bu perşembenin kâğıdı
| Yöntem | Aslında ne soruyorsun | Bu sabahın sayısı | Alışılan karışıklık |
|---|---|---|---|
getFullYear |
yılı kısaltmadan | 2024 |
onu 24 yazmak |
getMonth |
martın nesnede nerede durduğu | 2 |
onu 3 okumak |
getDate |
ayın kaçı | 14 |
perşembenin numarası |
getDay |
perşembenin haftadaki yeri | 4 |
ayın 14’ü |
getHours |
0’dan 23’e giden saatte saat | 9 |
sabah için ayrı işaret |
getMinutes |
dakika | 30 |
30’u saatten istemek |
Ocak 0, şubat 1, mart 2’dir. Pazar 0, pazartesi 1, salı 2, çarşamba 3, perşembe 4’tür. Dizideki sıfır ilk gözdü. Bu sıfırlar yılın ve haftanın başıdır.
Önce yıl, ay kavgası dursun
Dışarı yalnız en baştaki çıkar: 2024, eksilmeden. Gün, saat ve dakika bu satırın işi değil.
let opened = new Date(2024, 2, 14, 9, 30);
console.log(opened.getFullYear());
2024 görünür, çünkü ilk yere onu koydun. Ay için verdiğin 2 bu satırda basılmaz, ama nesne kurulduğu andan beri mart demektir. 24, kâğıda kısaltarak yazmaktır, bu okuma değil.
let opened = new Date(2024, 2, 14, 9, 30);
console.log(opened.getMonth());
2 eksik bir sayı değildir. Ocak 0 ise mart buradadır. Takvimde gördüğün «üçüncü» daha sonra, okunan cümlede yazılır. Bu satırda 2 kalsın.
let opened = new Date(2024, 2, 14, 9, 30);
console.log(opened.getDate());
console.log(opened.getDay());
14 ayın günüdür, 4 ise pazar sıfırsa perşembedir. Art arda gelmeleri, iki şeyi birden sorman yüzündendir. Soru bir değildir. Yöntemleri çapraz okursan tarihi gün adı sanırsın ya da tersini.
let opened = new Date(2024, 2, 14, 9, 30);
console.log(opened.getHours());
console.log(opened.getMinutes());
Önce 9, sonra 30 gelir. Saatler gece yarısı 0’dan 23’e yürür, bu yüzden 9 sabahtır ve ayrı bir işaret istemez. 30 dakikadır. Onu saatten istemek yanlış akrebe bakmaktır.
let opened = new Date(2024, 2, 14, 9, 30);
let visit = new Date(2024, 2, 20, 15, 0);
console.log(visit.getTime() > opened.getTime());
console.log(visit.getDate());
Ziyaret 20 Mart saat 15:00’tir, yani açılıştan sonradır. getTime her anı, hangisinin önce geldiğini söyleyen bir sayıya çevirir ve karşılaştırma true olur. Sonraki satır 20’dir, o ziyaretin günü. === önceyi sonrayı sormaz. Yalnızca iki adın aynı nesneyi gösterip göstermediğine bakar. Burada iki nesne vardır.
Kodu görmeyen kişinin okuduğu cümle
Yılı ve günü oldukları gibi al. Ayı, duvar takviminin saydığı gibi yaz.
<!DOCTYPE html>
<html>
<head>
<title>dates — page</title>
</head>
<body>
<p id="when">…</p>
<script>
let opened = new Date(2024, 2, 14, 9, 30);
let year = opened.getFullYear();
let displayMonth = opened.getMonth() + 1;
let day = opened.getDate();
let box = document.getElementById("when");
box.textContent = year + "-" + displayMonth + "-" + day;
</script>
</body>
</html>
Paragrafta 2024-3-14 durur. Nesneye ayı yeniden sorarsan hâlâ 2’dir. Öne alınmış sayı, göze yazılan cümlededir. Saklanan sabah yerinden oynamamıştır.
Bu perşembenin tutması gereken altı yer
Tahmin etme, karşılaştır.
- Yıl kısaltmasız 2024’tür, 24 değil
- Nesnenin içinde mart 2’dir
- 14
getDateten gelir, perşembenin 4’ügetDayden - Saat 9’dur, dakika 30
- Yirmindeki ziyaret sonradır, karşılaştırma true olur, o gün 20’dir
- Paragrafın cümlesi
2024-3-14tür ve nesne ayı 2 olarak tutar
Program çalışır, gün yanlış kalır
Uyarı çıkmaz. Sandığın ay ya da sayı değişir, o kadar.
- Mart derken
new Dateiçine 3 vermek, böylece nisan kurmak - 2’yi şubat okumak ya da
getMonthten 3 istemek - 14’ü
getDayden istemek - Perşembenin 4’ünü
getDateten istemek - Hangi anın sonra olduğunu
===ile kesmek - Sayı vermeden
new Date()çağırmak, böylece her yenilemede başka sabah gelmesi
Sayfayı kapatınca kalması gereken
- Mart 2’dir, çünkü ocak 0’dır
- Ayın günü
getDatetir - Haftanın günü
getDaydir ve pazar 0’dır - İki anın sırasını
getTimein verdiği sayıyla görürsün - İnsanın okuduğu cümle ayı, nesnede durandan bir adım ileri yazar, nesne 2’de kalır
- Sırada Math nesnesi var
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek