“Zaman akar, JavaScript hesaplar… bazen yanlış ama niyeti iyi.”
JavaScript’te tarih-saat işlemleri yapman gereken ilk an genelde şudur:
“Şu tarihi alayım… 3 gün ekleyeyim… ekrana yazdırayım…”
Ve Date objesi arkadan fısıldar:
“Aylar 0’dan başlıyor bu arada 😏”
🧠 1️⃣ Date Objesi Nedir? (Kısa Ama Hayati)
Date, JavaScript’in:
- Tarih
- Saat
- Gün
- Ay
- Yıl
- Milisaniye
gibi zamanla ilgili her şeyi yöneten yerleşik (built-in) objesidir.
Ama şunu bil:
JavaScript zamanı string olarak değil,
1 Ocak 1970’ten beri geçen milisaniye olarak tutar.
Evet… Zamanın başlangıcı JavaScript’e göre 1970.
Öncesi yok. Dinozorlar üzgün 🦖
🧱 2️⃣ Date Objesi Oluşturma Yöntemleri (Gerçek Hayatta Kullanılanlar)
🟢 A) Şu Anki Tarih ve Saat
const now = new Date();
console.log(now);
📌 Bu ne yapar?
- Kod çalıştığı o anın tarih ve saatini alır.
📌 Ne zaman kullanılır?
- “Şu an” bilgisi
- Log tutma
- Form gönderme zamanı
- Sayaç, geri sayım, süre ölçme
🟢 B) String ile Tarih Oluşturma (EN GÜVENLİ YOL)
const meetingDate = new Date("2026-01-05");
console.log(meetingDate);
🎯 ISO Format kullanıyoruz:
YYYY-MM-DD
📌 Neden?
- Tüm tarayıcılarda aynı sonucu verir
- “Bu Chrome’da çalıştı ama Safari çöktü” dramalarını önler
❌ ŞUNU YAPMA:
new Date("05-01-2026"); // Tarayıcı kavgası çıkar
🟢 C) Sayılarla Date (Burada Tuzak Var ⚠️)
const date = new Date(2026, 0, 5);
Bu ne demek?
- Yıl: 2026
- Ay: 0 (Ocak)
- Gün: 5
📌 Aylar 0’dan başlar
- 0 → Ocak
- 1 → Şubat
- 11 → Aralık
JavaScript burada diyor ki:
“Ayları ezberlemeden gelme.”
🔍 3️⃣ Date’ten Bilgi Alma (Getter Metotları)
const d = new Date();
📅 Yıl – Ay – Gün
d.getFullYear(); // 2026
d.getMonth(); // 0 - 11
d.getDate(); // Ayın günü (1-31)
🧠 İPUCU:
getMonth()insan dostu değil- Ekrana yazdırırken
+1yap
📆 Haftanın Günü
d.getDay(); // 0 - 6
- 0 → Pazar
- 1 → Pazartesi
- 6 → Cumartesi
📌 getDay() ≠ getDate()
| Metot | Ne verir |
|---|---|
| getDay() | Haftanın günü |
| getDate() | Ayın günü |
Bu hatayı yapan herkesin yolu bir gün frontend’e düşer 😄
⏰ Saat – Dakika – Saniye
d.getHours();
d.getMinutes();
d.getSeconds();
d.getMilliseconds();
🎯 Kullanım alanları:
- Dijital saat
- Canlı yayın süresi
- Quiz süreleri
- “Bu kullanıcı 3 saniyede mi tıkladı?” analizleri
🛠️ 4️⃣ Date Değiştirme (Setter’lar)
const d = new Date();
d.setFullYear(2030);
d.setMonth(11); // Aralık
d.setDate(25);
🎄 Artık tarih: 25 Aralık 2030
📌 Güzel tarafı:
- JavaScript taşmaları otomatik hesaplar
➕➖ 5️⃣ Tarihe Gün / Saat / Ay Ekleme (EN PRATİK BÖLÜM)
➕ 1 Gün Ekle
const today = new Date();
today.setDate(today.getDate() + 1);
📌 Ne oldu?
- Önce bugünün günü alındı
- Üzerine 1 eklendi
- Date objesi kendini güncelledi
🧠 Ay sonuysa?
- 31 Ocak + 1 → 1 Şubat
JavaScript burada seni yarı yolda bırakmaz 👏
➖ 7 Gün Çıkar
const d = new Date();
d.setDate(d.getDate() - 7);
🎯 “Bir hafta önce” hesapları için birebir.
⏰ Saat Ekleme
const d = new Date();
d.setHours(d.getHours() + 3);
Kullanım:
- Timezone farkları
- Yayın saati hesaplama
⏳ 6️⃣ Timestamp Gerçeği (Zamanın Ham Hali)
Date.now();
Bu ne döner?
👉 1970’ten beri geçen milisaniye
Alternatif:
new Date().getTime();
📌 Nerede kullanılır?
- Süre ölçme
- Performans testi
- Event sıralama
- Cache kontrolü
⏱️ 7️⃣ Süre Ölçme (Gerçek Hayat Örneği)
const start = Date.now();
// ağır işlem 😅
for (let i = 0; i < 1_000_000; i++) {}
const end = Date.now();
console.log(`İşlem süresi: ${end - start} ms`);
🎯 Bu sayede:
- Kodun yavaş mı hızlı mı görürsün
- “Bu fonksiyon neden kasıyor?” sorusuna cevap bulursun
🌍 8️⃣ Tarihi İnsan Gibi Gösterme (ÇOK ÖNEMLİ)
❌ BUNU ASLA GÖSTERME:
console.log(new Date());
Kullanıcı:
“Bu ne abi?”
✅ Locale ile Göster
const d = new Date();
d.toLocaleDateString("tr-TR");
// 05.01.2026
d.toLocaleString("en-US");
// 1/5/2026, 10:23:00 AM
📌 Altın Kural:
Kullanıcıya her zaman locale formatlı tarih göster.
😬 9️⃣ Date Objesinin Karanlık Yüzü
Dürüst olalım:
❌ Aylar 0’dan başlar
❌ Timezone kafası karışık
❌ Formatlama zahmetli
❌ Okunabilirlik düşük
Bu yüzden:
dayjsdate-fns
kullanılır.
AMA 👇
Date’i bilmeden kütüphane kullanmak,
debriyajsız araba sürmek gibidir.
🎯 SONUÇ: Date ile Barış İmzala
- Date objesi zor ama güçlü
- Temelini bilirsen işini görür
- Büyük projede kütüphane ile rahat edersin

