Tarih hesaplamaları
Timestamp kullanarak iki tarih arasındaki farkı ve tarih karşılaştırmayı öğrenirsin.
Tarih hesaplamalari
İki tarihin farkını bulmak için timestamp'lerini kullanırsın. getTime milisaniye cinsinden timestamp verir.
const a = new Date('2024-01-01');
const b = new Date('2024-02-01');
const diff = b.getTime() - a.getTime();diff milisaniye cinsinden farktır. Bunu güne çevirmek için bir gündeki milisaniye sayısına bölersin. Bu yöntem tarih karşılaştırmasının temelidir.
Güne çevirme ve karşılaştırma
Bir gün 24 * 60 * 60 * 1000 milisaniyedir. Farkı bu sayıya bölüp Math.floor ile aşağı yuvarlarsın.
const MS_PER_DAY = 24 * 60 * 60 * 1000;
const days = Math.floor(diff / MS_PER_DAY);Math.floor ondalığı atar, böylece tam gün sayısını alırsın. İki tarihi karşılaştırmak için getTime değerlerini de kullanabilirsin; JavaScript tarihleri otomatik olarak timestamp'e çevirir.
Uygulama İki tarih arasındaki gün farkını hesapla
start ve end iki tarih. MS_PER_DAY sabitine 24 * 60 * 60 * 1000 ata, farkı getTime ile al ve Math.floor ile güne çevirip console.log ile yazdır.
Örnek çözümü göster
İki tarih çıkarılırsa milisaniye farkı verilir; getTime timestamp verir. Bir günde 24*60*60*1000 milisaniye vardır; farkı bu sayıya bölüp Math.floor ile aşağı yuvarlarsın.
Örnek çözüm:
const start = new Date('2024-01-01');
const end = new Date('2024-02-01');
const MS_PER_DAY = 24 * 60 * 60 * 1000;
const diffMs = end.getTime() - start.getTime();
const days = Math.floor(diffMs / MS_PER_DAY);
console.log(days);
Kendini test et
-
İki tarih arasındaki farkı gün cinsinden bulmak için ilk adım ne olmalıdır?
- Farkı milisaniye cinsinden al, sonra gün sayısına böl
- Ay farkını doğrudan çıkar
- getDay ile hafta gününü al
- toISOString ile karşılaştır
Cevabı göster
Farkı milisaniye cinsinden al, sonra gün sayısına böl — Doğru! Önce milisaniye farkını alıp bir gündeki milisaniyeye bölersin.
-
Bir gündeki milisaniye
const MS_PER_DAY = ____;Cevabı göster
const MS_PER_DAY = 24 * 60 * 60 * 1000; -
Hesap parçalarını eşleştir
- getTime()
- timestamp verir
- date1 - date2
- fark (ms)
- 24*60*60*1000
- günde ms
- Math.floor()
- aşağı yuvarlar